seo

Page Level Query Analysis at Scale with Google Colab, Python, & the GSC API [Video Instructions Included]

The YouTube playlist referenced throughout this blog can be found here: 6 Part YouTube Series [Setting Up & Using the Query Optimization Checker]

Anyone who does SEO as part of their job knows that there’s a lot of value in analyzing which queries are and are not sending traffic to specific pages on a site.

The most common uses for these datasets are to align on-page optimizations with existing rankings and traffic, and to identify gaps in ranking keywords.

However, working with this data is extremely tedious because it’s only available in the Google Search Console interface, and you have to look at only one page at a time.

On top of that, to get information on the text included in the ranking page, you either need to manually review it or extract it with a tool like Screaming Frog.

You need this kind of view:

Example pivot table for traffic data.

…but even the above view would only be viable one page at a time, and as mentioned, the actual text extraction would have had to be separate as well.

Given these apparent issues with the readily available data at the SEO community’s disposal, the data engineering team at Inseev Interactive has been spending a lot of time thinking about how we can improve these processes at scale.

One specific example that we’ll be reviewing in this post is a simple script that allows you to get the above data in a flexible format for many great analytical views.

Better yet, this will all be available with only a few single input variables.

Table of Contents

A quick rundown of tool functionality

The tool automatically compares the text on-page to the Google Search Console top queries at the page-level to let you know which queries are on-page as well as how many times they appear on the page. An optional XPath variable also allows you to specify the part of the page you want to analyze text on.

This means you’ll know exactly what queries are driving clicks/impressions that are not in your , </p> <h1>, or even something as specific as the first paragraph within the main content (MC). The sky’s the limit. </p> <p>For those of you not familiar, we’ve also provided some quick XPath expressions you can use, as well as how to create site-specific XPath expressions within the “Input Variables” section of the post.</p> <h2><span class="ez-toc-section" id="Post_setup_usage_datasets"></span>Post setup usage & datasets<span class="ez-toc-section-end"></span></h2> <p>Once the process is set up, all that’s required is filling out a short list of variables and the rest is automated for you.</p> <p>The output dataset includes multiple automated CSV datasets, as well as a structured file format to keep things organized. A simple pivot of the core analysis automated CSV can provide you with the below dataset and many other useful layouts.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Example-Pivot-_-Full-Dataset-1.png?w=1815&h=493&auto=compress%2Cformat&fit=crop&dm=1619822795&s=47f1c85424af0dee8e7d48a128e8bf24" data-image="1009628" alt="A simple pivot table of the core analysis automated CSV."></figure> <h3><span class="ez-toc-section" id="%E2%80%A6_Even_some_%E2%80%9Cnew_metrics%E2%80%9D"></span>… Even some “new metrics”?<span class="ez-toc-section-end"></span></h3> <p>Okay, not technically “new,” but if you exclusively use the Google Search Console user interface, then you haven’t likely had access to metrics like these before: “Max Position,” “Min Position,” and “Count Position” for the specified date range – all of which are explained in the “Running your first analysis” section of the post.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Example-Pivot-2.png?w=1818&h=234&auto=compress%2Cformat&fit=crop&dm=1619822874&s=4570fb723934c0efcde7889c440e0e8d" data-image="1009629" alt="Example pivot table with "></figure> <p>To really demonstrate the impact and usefulness of this dataset, in the video below we use the Colab tool to: </p> <ol readability="0.91814946619217"> <li readability="0.85443037974684"> <p><strong>[3 Minutes] </strong>— Find non-brand <title> optimization opportunities for <a href="https://www.inseev.com/" target="_blank" rel="noopener">https://www.inseev.com/</a> (around 30 pages in video, but you could do any number of pages)</p> </li> <li readability="-1"> <p><strong>[3 Minutes]</strong> — Convert the CSV to a more useable format </p> </li> <li readability="-1"> <p><strong>[1 Minute]</strong> – Optimize the first title with the resulting dataset</p> </li> </ol> <figure><iframe width="560" height="315" src="https://www.youtube.com/embed/ZOgBu_oOM30" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure> <p>Okay, you’re all set for the initial rundown. Hopefully we were able to get you excited before moving into the somewhat dull setup process.</p> <p>Keep in mind that at the end of the post, there is also a section including a few helpful use cases and an example template! To jump directly to each section of this post, please use the following links: <a href="https://moz.com/blog/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included#sectionone" target="_blank" rel="noopener"><br /></a></p> <p><strong><em>[Quick Consideration #1] —</em></strong><em> The web scraper built into the tool DOES NOT support JavaScript rendering. If your website uses client-side rendering, the full functionality of the tool unfortunately will not work. </em></p> <p><strong><em>[Quick Consideration #2] — </em></strong><em>This tool has been heavily tested by the members of the Inseev team. Most bugs [specifically with the web scraper] have been found and fixed, but like any other program, it is possible that other issues may come up.</em></p> <ul readability="1.8390243902439"> <li readability="2.56"> <p><em>If you encounter any errors, feel free to reach out to us directly at </em><a target="_blank" href="mailto:jmelman@inseev.com" rel="noopener"><em>jmelman@inseev.com</em></a><em> or </em><a target="_blank" href="mailto:info@inseev.com" rel="noopener"><em>info@inseev.com</em></a><em>, and either myself or one of the other members of the data engineering team at Inseev would be happy to help you out.</em></p> </li> <li readability="1"> <p><em>If new errors are encountered and fixed, we will always upload the updated script to the code repository linked in the sections below so the most up-to-date code can be utilized by all!</em></p> </li> </ul> <h2><span class="ez-toc-section" id="One-time_setup_of_the_script_in_Google_Colab_in_less_than_20_minutes"></span><a id="sectionone"></a>One-time setup of the script in Google Colab (in less than 20 minutes)<span class="ez-toc-section-end"></span></h2> <p><strong>Things you’ll need:</strong></p> <ol readability="-1"> <li> <p>Google Drive</p> </li> <li readability="-1"> <p>Google Cloud Platform account</p> </li> <li readability="-1"> <p>Google Search Console access</p> </li> </ol> <h3><span class="ez-toc-section" id="Video_walkthrough_tool_setup_process"></span>Video walkthrough: tool setup process<span class="ez-toc-section-end"></span></h3> <p>Below you’ll find step-by-step editorial instructions in order to set up the entire process. However, if following editorial instructions isn’t your preferred method, we recorded a video of the setup process as well.</p> <p>As you’ll see, we start with a brand new Gmail and set up the entire process in approximately 12 minutes, and the output is completely worth the time. </p> <figure><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/MzJ30CcTzAw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure> <p>Keep in mind that the setup is one-off, and once set up, the tool should work on command from there on!</p> <h3><span class="ez-toc-section" id="Editorial_walkthrough_tool_setup_process"></span>Editorial walkthrough: tool setup process<span class="ez-toc-section-end"></span></h3> <h4><span class="ez-toc-section" id="Four-part_process"></span><strong><em>Four-</em></strong><em>part process: </em><span class="ez-toc-section-end"></span></h4> <ol readability="1.5"> <li readability="-1"> <p>Download the files from Github and set up in Google Drive</p> </li> <li readability="-1"> <p>Set up a Google Cloud Platform (GCP) Project (skip if you already have an account)</p> </li> <li readability="0"> <p>Create the OAuth 2.0 client ID for the Google Search Console (GSC) API (skip if you already have an OAuth client ID with the Search Console API enabled)</p> </li> <li readability="-1"> <p>Add the OAuth 2.0 credentials to the Config.py file</p> </li> </ol> <h4><span class="ez-toc-section" id="Part_one_Download_the_files_from_Github_and_set_up_in_Google_Drive"></span><em>Part one: Download the files from Github and set up in Google Drive</em><span class="ez-toc-section-end"></span></h4> <h5><span class="ez-toc-section" id="Download_source_files_no_code_required"></span>Download source files (no code required)<span class="ez-toc-section-end"></span></h5> <p>1. Navigate <a target="_blank" href="https://github.com/jmelm93/query-optmization-checker" rel="noopener">here</a>.</p> <p>2. Select “Code” > “Download Zip”</p> <p>*You can also use ‘<strong>git clone </strong><a href="https://github.com/jmelm93/query-optmization-checker.git" target="_blank" rel="noopener"><strong>https://github.com/jmelm93/query-optmization-checker.git</strong></a>‘<strong> </strong>if you’re more comfortable using the command prompt.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Download-from-Github-1.png?w=1383&h=339&auto=compress%2Cformat&fit=crop&dm=1619823042&s=400b0cfba507d3ad0aed02fa038c2a61" data-image="1009630" alt="Select Code then Download Zip"></figure> <h5><span class="ez-toc-section" id="Initiate_Google_Colab_in_Google_Drive"></span>Initiate Google Colab in Google Drive<span class="ez-toc-section-end"></span></h5> <p>If you already have a Google Colaboratory setup in your Google Drive, feel free to skip this step.</p> <p>1. Navigate <a target="_blank" href="https://drive.google.com/drive/my-drive" rel="noopener">here</a>.</p> <p>2. Click “New” > “More” > “Connect more apps”.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Activating-Colab-1.png?w=1005&h=675&auto=compress%2Cformat&fit=crop&dm=1619823083&s=3755c717d6833e4d2f7a77d0683ac445" data-image="1009631" alt="Click New then More then Connect more apps"></figure> <p>3. Search “Colaboratory” > Click into the application page.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Activating-Colab-2.png?w=1021&h=500&auto=compress%2Cformat&fit=crop&dm=1619823104&s=54cf163bc5c927c2d3e8ca251d6be825" data-image="1009632" alt="Search for Colaboratory and Click into the application page"></figure> <p>4. Click “Install” > “Continue” > Sign in with OAuth.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Activating-Colab-3.png?w=1561&h=494&auto=compress%2Cformat&fit=crop&dm=1619823136&s=077cd39ddf7309eeac5c23d8ea7dd6bf" data-image="1009633" alt="Click Install then Continue then Sign in with OAuth"></figure> <p>5. Click “OK” with the prompt checked so Google Drive automatically sets appropriate files to open with Google Colab (optional).</p> <figure><img decoding="async" src="https://moz.com/images/cms/Activating-Colab-4.png?w=681&h=278&auto=compress%2Cformat&fit=crop&dm=1619823138&s=26860042c480ebf79ff3053d4d4e5773" data-image="1009634" alt="Click "></figure> <h5><span class="ez-toc-section" id="Import_the_downloaded_folder_to_Google_Drive_open_in_Colab"></span>Import the downloaded folder to Google Drive & open in Colab<span class="ez-toc-section-end"></span></h5> <p>1. Navigate to Google Drive and create a folder called “Colab Notebooks”.</p> <p><strong>IMPORTANT</strong>: The folder needs to be called “Colab Notebooks” as the script is configured to look for the “api” folder from within “Colab Notebooks”.</p> <figure><img decoding="async" src="https://moz.com/images/cms/No-Module-Named-api-Error.png?w=979&h=335&auto=compress%2Cformat&fit=crop&dm=1619823155&s=e80a2af6dd177618ac66f372e7a0bbd7" data-image="1009646" alt="Error resulting in improper folder naming."><figcaption>Error resulting in improper folder naming.</figcaption></figure> <p>2. Import the folder downloaded from Github into Google Drive.</p> <p>At the end of this step, you should have a folder in your Google Drive that contains the below items: </p> <figure><img decoding="async" src="https://moz.com/images/cms/Google-Drive-After-Github-Repo-Added.png?w=1522&h=327&auto=compress%2Cformat&fit=crop&dm=1619823153&s=58f65f42b21ae65ebf7acd13f9e527d9" data-image="1009645" alt="The folder should contain the query optimization checker and the README.MD"></figure> <h4><span class="ez-toc-section" id="Part_two_Set_up_a_Google_Cloud_Platform_GCP_project"></span><em>Part two: Set up a Google Cloud Platform (GCP) project</em><span class="ez-toc-section-end"></span></h4> <p>If you already have a Google Cloud Platform (GCP) account, feel free to skip this part.</p> <p>1. Navigate to the <a target="_blank" href="https://cloud.google.com/" rel="noopener">Google Cloud</a> page.</p> <p>2. Click on the “Get started for free” CTA (CTA text may change over time).</p> <figure><img loading="lazy" decoding="async" src="https://lh3.googleusercontent.com/JJfk0m7TkfODe-NZ-dlW0STFFs2SWoKuRzO1hTzva5XSgaXQeFG5Qdh_Fge-SM6MS78RuPi0yvj0WPk8jirUC6xOYe4xaLrnK_Q6XJoZPqcEdh4958AdA3_YS58jAkTzXHGmZQQ4" width="720" height="119" data-image="kyg1va0w4ssf" alt="Click Get Started For Free"></figure> <p>3. Sign in with the OAuth credentials of your choice. Any Gmail email will work.</p> <p>4. Follow the prompts to sign up for your GCP account.</p> <p>You’ll be asked to supply a credit card to sign up, but there is currently a $300 free trial and Google notes that they won’t charge you until you upgrade your account. </p> <h4><span class="ez-toc-section" id="Part_three_Create_a_0Auth_20_client_ID_for_the_Google_Search_Console_GSC_API"></span><em>Part three: Create a 0Auth 2.0 client ID for the Google Search Console (GSC) API</em><span class="ez-toc-section-end"></span></h4> <p>1. Navigate <a target="_blank" href="https://console.cloud.google.com/marketplace/product/google/searchconsole.googleapis.com" rel="noopener">here</a>.</p> <p>2. After you log in to your desired Google Cloud account, click “ENABLE”.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Enable-GSC-API-1.png?w=780&h=261&auto=compress%2Cformat&fit=crop&dm=1619823148&s=97ef846e0e8b1c60f8011cb4b4a8af87" data-image="1009641" alt="Click Enable in GSC API"></figure> <p>3. Configure the consent screen.</p> <ul> <li>In the consent screen creation process, select “External,” then continue onto the “App Information.”</li> </ul> <p>Example below of minimum requirements:</p> <figure><img decoding="async" src="https://moz.com/images/cms/Consent-Screen-1.png?w=780&h=339&auto=compress%2Cformat&fit=crop&dm=1619823140&s=052a473e8204c696414a235cba473ab9" data-image="1009636" alt="App information window for the consent screen."></figure> <figure><img decoding="async" src="https://moz.com/images/cms/Consent-Screen-2.png?w=780&h=240&auto=compress%2Cformat&fit=crop&dm=1619823141&s=f4a1277bbd528af691088bb79ba295e6" data-image="1009637" alt="Developer contact information section of consent screen."></figure> <ul> <li>Skip “Scopes”</li> <li>Add the email(s) <strong>you’ll use for the Search Console API authentication</strong> into the “Test Users”. There could be other emails versus just the one that owns the Google Drive. An example may be a client’s email where you access the Google Search Console UI to view their KPIs.</li> </ul> <figure><img decoding="async" src="https://moz.com/images/cms/Consent-Screen-Adding-Test-Users.png?w=780&h=283&auto=compress%2Cformat&fit=crop&dm=1619823143&s=58a50ebd413f047b130f5679b1b248c6" data-image="1009638" alt="Add the emails you’ll use for the Search Console API authentication into the Test Users"></figure> <p>4. In the left-rail navigation, click into “Credentials” > “CREATE CREDENTIALS” > “OAuth Client ID” (Not in image).</p> <figure><img decoding="async" src="https://moz.com/images/cms/Enable-GSC-API-2.png?w=780&h=184&auto=compress%2Cformat&fit=crop&dm=1619823149&s=6aac54451f2ccb8c2303505759eeefc1" data-image="1009642" alt="In the left-rail navigation, click into Credentials then CREATE CREDENTIALS then OAuth Client ID"></figure> <p>5. Within the “Create OAuth client ID” form, fill in:</p> <ol></ol> <figure><img decoding="async" src="https://moz.com/images/cms/Create-OAuth-2.0-Client-ID-Criteria.png?w=780&h=380&auto=compress%2Cformat&fit=crop&dm=1619823147&s=b994a1b935e28dbc880b5bca33398d41" data-image="1009640" alt="Within the Create OAuth client ID form, fill in Application Type as Desktop app, Name as Google Colab, then Click CREATE"></figure> <p>6. Save the “Client ID” and “Client Secret” — as these will be added into the “api” folder config.py file from the Github files we downloaded. </p> <ul readability="-0.5"> <li readability="-1"> <p>These should have appeared in a popup after hitting “CREATE”</p> </li> <li readability="0"> <p>The “Client Secret” is functionally the password to your Google Cloud (DO NOT post this to the public/share it online)</p> </li> </ul> <h4><span class="ez-toc-section" id="Part_four_Add_the_OAuth_20_credentials_to_the_Configpy_file"></span><em>Part four: Add the OAuth 2.0 credentials to the Config.py file </em><span class="ez-toc-section-end"></span></h4> <p>1. Return to Google Drive and navigate into the “api” folder.</p> <p>2. Click into config.py.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Updating-config.py-File-1.png?w=780&h=625&auto=compress%2Cformat&fit=crop&dm=1619823158&s=f268edd64d849dd8506b27690b94c7d1" data-image="1009649" alt="Click into config.py"></figure> <p>3. Choose to open with “Text Editor” (or another app of your choice) to modify the config.py file.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Updating-config.py-File-2.png?w=780&h=179&auto=compress%2Cformat&fit=crop&dm=1619823156&s=26ad03b72e934b5ac2e2893fb22ed302" data-image="1009647" alt="Choose to open with Text Editor to modify the config.py file"></figure> <p>4. Update the three areas highlighted below with your:</p> <ul readability="0"> <li readability="-1"> <p><strong>CLIENT_ID</strong>: From the OAuth 2.0 client ID setup process</p> </li> <li readability="-1"> <p><strong>CLIENT_SECRET</strong>: From the OAuth 2.0 client ID setup process</p> </li> <li readability="-1"> <p><strong>GOOGLE_CREDENTIALS</strong>: Email that corresponds with your CLIENT_ID & CLIENT_SECRET</p> </li> </ul> <figure><img decoding="async" src="https://moz.com/images/cms/Updating-config.py-File-3.png?w=780&h=236&auto=compress%2Cformat&fit=crop&dm=1619823157&s=2e8a2c02f96c1241533837d7e363a36a" data-image="1009648" alt="Update the CLIENT_ID From the OAuth 2.0 client ID setup process, the CLIENT_SECRET From the OAuth 2.0 client ID setup process, and GOOGLE_CREDENTIALS Email that corresponds with your CLIENT_ID and CLIENT_SECRET"></figure> <p>5. Save the file once updated!</p> <p>Congratulations, the boring stuff is over. You are now ready to start using the Google Colab file!</p> <h2><span class="ez-toc-section" id="Running_your_first_analysis"></span><a id="sectiontwo"></a>Running your first analysis<span class="ez-toc-section-end"></span></h2> <p>Running your first analysis may be a little intimidating, but stick with it and it will get easy fast. </p> <p>Below, we’ve provided details regarding the input variables required, as well as notes on things to keep in mind when running the script and analyzing the resulting dataset. </p> <p>After we walk through these items, there are also a few example projects and video walkthroughs showcasing ways to utilize these datasets for client deliverables.</p> <h3><span class="ez-toc-section" id="Setting_up_the_input_variables"></span>Setting up the input variables<span class="ez-toc-section-end"></span></h3> <h4><span class="ez-toc-section" id="XPath_extraction_with_the_%E2%80%9Cxpath_selector%E2%80%9D_variable"></span><em>XPath extraction with the “xpath_selector” variable</em><span class="ez-toc-section-end"></span></h4> <p>Have you ever wanted to know every query driving clicks and impressions to a webpage that aren’t in your <title> or </p> <h1> tag? Well, this parameter will allow you to do just that. </p> <p>While optional, using this is highly encouraged and we feel it “supercharges” the analysis. Simply define site sections with Xpaths and the script will do the rest. </p> <figure><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/xQjY6B4Hm6c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure> <p>In the above video, you’ll find examples on how to create site specific extractions. In addition, below are some universal extractions that should work on almost any site on the web:</p> <ul readability="0"> <li readability="-1"> <p><strong>‘//title’</strong> # Identifies a <title> tag</p> </li> <li readability="-1"> <p><strong>‘//h1’</strong> # Identifies a </p> <h1> tag</p> </li> <li readability="-1"> <p><strong>‘//h2’ </strong># Identifies a </p> <h2> tag</p> </li> </ul> <p><strong>Site Specific:</strong> How to scrape only the main content (MC)?</p> <p><strong>Chaining Xpaths – Add a “|” Between Xpaths</strong></p> <ul readability="-0.5"> <li readability="-1"> <p><strong>‘//title | //h1’ </strong># Gets you both the <title> and </p> <h1> tag in 1 run</p> </li> <li readability="0"> <p><strong>‘//h1 | //h2 | //h3’ </strong># Gets you both the </p> <h1>, </p> <h2> and </p> <h3> tags in 1 run</p> </li> </ul> <h4><em>Other variables</em></h4> <p>Here’s a video overview of the other variables with a short description of each.</p> <figure><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/gFKBmK8VoVs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure> <p><strong>‘colab_path’ [Required]</strong> – The path in which the Colab file lives. This should be “/content/drive/My Drive/Colab Notebooks/”.</p> <p><strong>‘domain_lookup’ [Required]</strong> – Homepage of the website utilized for analysis.</p> <p><strong>‘startdate’ & ‘enddate’</strong> <strong>[Required] – </strong>Date range for the analysis period. </p> <p><strong>‘gsc_sorting_field’ [Required] </strong>– The tool pulls the top N pages as defined by the user. The “top” is defined by either “clicks_sum” or “impressions_sum.” Please review the video for a more detailed description.</p> <p><strong>‘gsc_limit_pages_number’ [Required]</strong> – Numeric value that represents the number of resulting pages you’d like within the dataset. </p> <p><strong>‘brand_exclusions’ [Optional] – </strong>The string sequence(s) that commonly result in branded queries (e.g., anything containing “inseev” will be branded queries for “Inseev Interactive”).</p> <p><strong>‘impressions_exclusion’ [Optional] – </strong>Numeric value used to exclude queries that are potentially irrelevant due to the lack of pre-existing impressions. This is primarily relevant for domains with strong pre-existing rankings on a large scale number of pages.</p> <p><strong>‘page_inclusions’ [Optional]</strong> – The string sequence(s) that are found within the desired analysis page type. If you’d like to analyze the entire domain, leave this section blank.</p> <h3>Running the script</h3> <p>Keep in mind that once the script finishes running, you’re generally going to use the “step3_query-optimizer_domain-YYYY-MM-DD.csv” file for analysis, but there are others with the raw datasets to browse as well. </p> <p>Practical use cases for the “step3_query-optimizer_domain-YYYY-MM-DD.csv” file can be found in the “<a href="https://moz.com/blog/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included#sectionthree" target="_blank" rel="noopener">Practical use cases and templates</a>” section. </p> <p>That said, there are a few important things to note while testing things out:</p> <p>1. <u>No JavaScript Crawling</u>: As mentioned at the start of the post, this script is NOT set up for JavaScript crawling, so if your target website uses a JS frontend with client-side rendering to populate the main content (MC), the scrape will not be useful. However, the basic functionality of quickly getting the top XX (user-defined) queries and pages can still be useful by itself.</p> <p>2. <u>Google Drive / GSC API Auth</u>: The first time you run the script in each new session it will prompt you to authenticate both the Google Drive and the Google Search Console credentials. </p> <ul> <li><strong>GSC authentication:</strong> Authenticate whichever email has <strong>permission to use the desired Google Search Console account</strong>. <ul readability="0"> <li readability="3"> <p>If you attempt to authenticate and you get an error that looks like the one below, please revisit the “Add the email(s) you’ll use the Colab app with into the ‘Test Users'” from Part 3, step 3 in the process above: setting up the consent screen.</p> </li> </ul> </li> </ul> <figure><strong><img decoding="async" src="https://moz.com/images/cms/Consent-Screen-Error-In-Colab-App.png?w=780&h=432&auto=compress%2Cformat&fit=crop&dm=1619823145&s=e70c95a0e06d33ca4f554d2716edb9d3" data-image="1009639" alt="If you attempt to authenticate and you get an error, please revisit the Add the emails you’ll use the Colab app with into the Test Users step from setting up the consent screen."></strong></figure> <p><strong>Quick tip:</strong> The Google Drive account and the GSC Authentication DO NOT have to be the same email, but they do require separate authentications with OAuth.</p> <p>3. <u>Running the script</u>: Either navigate to “Runtime” > “Restart and Run All” or use the keyboard shortcut CTRL + fn9 to start running the script.</p> <p>4. <u>Populated datasets/folder structure</u>: There are three CSVs populated by the script – all nested within a folder structure based on the “domain_lookup” input variable. </p> <figure><img loading="lazy" decoding="async" src="https://lh5.googleusercontent.com/sXuKK5QJRxlYcD79n1dJAMjsD6EVkqw0R4cPzlNMImbUyhwQZdHrjkmAWlxuMijnl00gl3oxGfrxkPXdVrrPmJpOK6IJv6WqIlzQx8cNvq2iuPC-F51W_JBBll4_d7IzTb2xtZ49" width="720" height="150" data-image="90qnq8egg5ry" alt="There are 3 CSVs populated by the script, all nested within a folder structure based on the domain_lookup input variable."></figure> <ul readability="1"> <li readability="1"> <p><strong>Automated Organization [Folders]:</strong> Each time you rerun the script on a new domain, it will create a new folder structure in order to keep things organized. </p> </li> <li readability="1"> <p><strong>Automated Organization [File Naming</strong>]: The CSVs include the date of the export appended to the end, so you’ll always know when the process ran as well as the <strong>date range for the dataset</strong>.</p> </li> </ul> <p>5. <u>Date range for dataset</u>: Inside of the dataset there is a “gsc_datasetID” column generated, which includes the date range of the extraction.</p> <figure><img decoding="async" src="https://moz.com/images/cms/Final-Dataset-1.png?w=1875&h=198&auto=compress%2Cformat&fit=crop&dm=1619823151&s=f9b4491f0c2946c65e21fe7c2e4af630" data-image="1009643" alt="Inside of the dataset there is a gsc_datasetID column generated which includes the date range of the extraction."></figure> <p>6. <u>Unfamiliar metrics</u>: The resulting dataset has all the KPIs we know and love – e.g. clicks, impressions, average (mean) position — but there are also a few you cannot get directly from the GSC UI:</p> <ul readability="0.5"> <li readability="4"> <p><strong>‘count_instances_gsc’</strong> — the number of instances the query got at least 1 impression during the specified date range. Scenario example: GSC tells you that you were in an average position 6 for a large keyword like “flower delivery” and you only received 20 impressions in a 30-day date range. Doesn’t seem possible that you were really in position 6, right? Well, now you can see that was potentially because you only actually showed up on one day in that 30-day date range (e.g. count_instances_gsc = 1)</p> </li> </ul> <p><strong>Quick tip #1</strong>: Large variance in max/min may tell you that your keyword has been fluctuating heavily.</p> <p><strong>Quick tip #2</strong>: These KPIs, in conjunction with the “count_instances_gsc”, can exponentially further your understanding of query performance and opportunity.</p> <h2><a id="sectionthree"></a>Practical use cases and templates</h2> <p><strong>Access the <a href="https://drive.google.com/file/d/1x6-D1dgbIokctbfqmopaenUp_rRXzkim/view?usp=sharing" target="_blank" rel="noopener"><em>recommended multi-use template</em></a>.</strong></p> <p><strong>Recommended use</strong>: Download file and use with Excel. Subjectively speaking, I believe Excel has a much more user friendly pivot table functionality in comparison to Google Sheets — which is critical for using this template. </p> <p>Alternative use: If you do not have Microsoft Excel or you prefer a different tool, you can use most spreadsheet apps that contain pivot functionality. </p> <p>For those who opt for an alternative spreadsheet software/app: </p> <ol readability="0"> <li readability="-1"> <p>Below are the pivot fields to mimic upon setup. </p> </li> <li readability="1"> <p>You may have to adjust the Vlookup functions found on the “Step 3 _ Analysis Final Doc” tab, depending on whether your updated pivot columns align with the current pivot I’ve supplied. </p> </li> </ol> <figure><img loading="lazy" decoding="async" src="https://lh6.googleusercontent.com/kz3gz6g993Ug42lDtRuxWReA5GLEryeIOqjAhHXOcVaEzrS_McrO9NEp4NmXNXu1kPzvnTCkCASXFymawcb3lVgcGr10UySiulhJlFvC-1qhI6xl8QkQMbN4thkhBWF8TwczFuOv" width="335" height="196" data-image="x81i59y3ws33" alt="Pivot fields to mimic upon setup."></figure> <h3><span class="ez-toc-section" id="Project_example_Title_H1_re-optimizations_video_walkthrough"></span>Project example: Title & H1 re-optimizations (video walkthrough)<span class="ez-toc-section-end"></span></h3> <p><strong>Project description</strong>: Locate keywords that are driving clicks and impressions to high value pages and that do not exist within the <title> and </p> <h1> tags by reviewing GSC query KPIs vs. current page elements. Use the resulting findings to re-optimize both the <title> and </p> <h1> tags for pre-existing pages.</p> <p><strong>Project assumptions: </strong>This process assumes that inserting keywords into both the <title> and </p> <h1> tags is a strong SEO practice for relevancy optimization, and that it’s important to include related keyword variants into these areas (e.g. non-exact match keywords with matching SERP intent).</p> <figure><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/Hhz3Ha9chWU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure> <h3><span class="ez-toc-section" id="Project_example_On-page_text_refreshre-optimization"></span>Project example: On-page text refresh/re-optimization<span class="ez-toc-section-end"></span></h3> <p><strong>Project description</strong>: Locate keywords that are driving clicks and impressions to editorial pieces of content that DO NOT exist within the first paragraph within the body of the main content (MC). Perform an on-page refresh of introductory content within editorial pages to include high value keyword opportunities. </p> <p><strong>Project assumptions: </strong>This process assumes that inserting keywords into the first several sentences of a piece of content is a strong SEO practice for relevancy optimization, and that it’s important to include related keyword variants into these areas (e.g. non-exact match keywords with matching SERP intent).</p> <figure><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/vhmh9gjjq40" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe></figure> <h2><span class="ez-toc-section" id="Final_thoughts"></span>Final thoughts<span class="ez-toc-section-end"></span></h2> <p>We hope this post has been helpful and opened you up to the idea of using Python and Google Colab to supercharge your relevancy optimization strategy. </p> <p>As mentioned throughout the post, keep the following in mind:</p> <ol readability="1"> <li readability="-1"> <p>Github repository will be updated with any changes we make in the future. </p> </li> <li readability="3"> <p>There is the possibility of undiscovered errors. If these occur, Inseev is happy to help! In fact, we would actually appreciate you reaching out to investigate and fix errors (if any do appear). This way others don’t run into the same problems.</p> </li> </ol> <p>Other than the above, if you have any ideas on ways to Colab (pun intended) on data analytics projects, feel free to reach out with ideas.</p> </p></div> <div class="post-shortlink"> <input type="text" id="short-post-url" value="artanbiz.com/?p=3180" data-url="https://artanbiz.com/?p=3180"> <button type="button" id="copy-post-url" class="button">Copy URL</button> <span id="copy-post-url-msg" style="display:none;">URL Copied</span> </div> <script> document.getElementById('copy-post-url').onclick = function(){ var copyText = document.getElementById('short-post-url'); copyText.select(); copyText.setSelectionRange(0, 99999); navigator.clipboard.writeText(copyText.getAttribute('data-url')); document.getElementById('copy-post-url-msg').style.display = "block"; } </script> </div><!-- .entry-content /--> <div id="post-extra-info"> <div class="theiaStickySidebar"> <div class="single-post-meta post-meta clearfix"><span class="author-meta single-author with-avatars"><span class="meta-item meta-author-wrapper meta-author-1"> <span class="meta-author-avatar"> <a href="https://artanbiz.com/author/admin/"><img alt='Photo of Ali JalilPour' src='https://secure.gravatar.com/avatar/7d1062ff0aa6a43c53508a5c24afc28b?s=140&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/7d1062ff0aa6a43c53508a5c24afc28b?s=280&d=mm&r=g 2x' class='avatar avatar-140 photo' height='140' width='140' loading='lazy' decoding='async'/></a> </span> <span class="meta-author"><a href="https://artanbiz.com/author/admin/" class="author-name tie-icon" title="Ali JalilPour">Ali JalilPour</a></span> <a href="mailto:info@momgh7demo.ir" class="author-email-link" target="_blank" rel="nofollow noopener" title="Send an email"> <span class="tie-icon-envelope" aria-hidden="true"></span> <span class="screen-reader-text">Send an email</span> </a> </span></span><span class="date meta-item tie-icon">June 27, 2024</span><div class="tie-alignright"><span class="meta-comment tie-icon meta-item fa-before">0</span><span class="meta-views meta-item "><span class="tie-icon-fire" aria-hidden="true"></span> 0 </span><span class="meta-reading-time meta-item"><span class="tie-icon-bookmark" aria-hidden="true"></span> 12 minutes read</span> </div></div><!-- .post-meta --> <div id="share-buttons-top" class="share-buttons share-buttons-top"> <div class="share-links share-centered icons-only"> <div class="share-title"> <span class="tie-icon-share" aria-hidden="true"></span> <span> Share</span> </div> <a href="https://www.facebook.com/sharer.php?u=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Facebook" target="_blank" class="facebook-share-btn " data-raw="https://www.facebook.com/sharer.php?u={post_link}"> <span class="share-btn-icon tie-icon-facebook"></span> <span class="screen-reader-text">Facebook</span> </a> <a href="https://twitter.com/intent/tweet?text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="X" target="_blank" class="twitter-share-btn " data-raw="https://twitter.com/intent/tweet?text={post_title}&url={post_link}"> <span class="share-btn-icon tie-icon-twitter"></span> <span class="screen-reader-text">X</span> </a> <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&title=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="LinkedIn" target="_blank" class="linkedin-share-btn " data-raw="https://www.linkedin.com/shareArticle?mini=true&url={post_full_link}&title={post_title}"> <span class="share-btn-icon tie-icon-linkedin"></span> <span class="screen-reader-text">LinkedIn</span> </a> <a href="https://www.tumblr.com/share/link?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&name=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Tumblr" target="_blank" class="tumblr-share-btn " data-raw="https://www.tumblr.com/share/link?url={post_link}&name={post_title}"> <span class="share-btn-icon tie-icon-tumblr"></span> <span class="screen-reader-text">Tumblr</span> </a> <a href="https://pinterest.com/pin/create/button/?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&description=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&media=https://artanbiz.com/wp-content/uploads/2024/06/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included_667d4b6e59c4c.jpeg" rel="external noopener nofollow" title="Pinterest" target="_blank" class="pinterest-share-btn " data-raw="https://pinterest.com/pin/create/button/?url={post_link}&description={post_title}&media={post_img}"> <span class="share-btn-icon tie-icon-pinterest"></span> <span class="screen-reader-text">Pinterest</span> </a> <a href="https://getpocket.com/save?title=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Pocket" target="_blank" class="pocket-share-btn " data-raw="https://getpocket.com/save?title={post_title}&url={post_link}"> <span class="share-btn-icon tie-icon-get-pocket"></span> <span class="screen-reader-text">Pocket</span> </a> <a href="https://web.skype.com/share?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Skype" target="_blank" class="skype-share-btn " data-raw="https://web.skype.com/share?url={post_link}&text={post_title}"> <span class="share-btn-icon tie-icon-skype"></span> <span class="screen-reader-text">Skype</span> </a> <a href="fb-messenger://share?app_id=5303202981&display=popup&link=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&redirect_uri=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Messenger" target="_blank" class="messenger-mob-share-btn messenger-share-btn " data-raw="fb-messenger://share?app_id=5303202981&display=popup&link={post_link}&redirect_uri={post_link}"> <span class="share-btn-icon tie-icon-messenger"></span> <span class="screen-reader-text">Messenger</span> </a> <a href="https://www.facebook.com/dialog/send?app_id=5303202981&display=popup&link=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&redirect_uri=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Messenger" target="_blank" class="messenger-desktop-share-btn messenger-share-btn " data-raw="https://www.facebook.com/dialog/send?app_id=5303202981&display=popup&link={post_link}&redirect_uri={post_link}"> <span class="share-btn-icon tie-icon-messenger"></span> <span class="screen-reader-text">Messenger</span> </a> <a href="viber://forward?text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D%20https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Viber" target="_blank" class="viber-share-btn " data-raw="viber://forward?text={post_title}%20{post_link}"> <span class="share-btn-icon tie-icon-phone"></span> <span class="screen-reader-text">Viber</span> </a> </div><!-- .share-links /--> </div><!-- .share-buttons /--> </div> </div> <div class="clearfix"></div> <script id="tie-schema-json" type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"Article","dateCreated":"2024-06-27T04:22:21-07:00","datePublished":"2024-06-27T04:22:21-07:00","dateModified":"2024-06-27T04:22:21-07:00","headline":"Page Level Query Analysis at Scale with Google Colab, Python, & the GSC API [Video Instructions Included]","name":"Page Level Query Analysis at Scale with Google Colab, Python, & the GSC API [Video Instructions Included]","keywords":[],"url":"https:\/\/artanbiz.com\/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included\/","description":"The YouTube playlist referenced throughout this blog can be found here: 6 Part YouTube Series [Setting Up & Using the Query Optimization Checker] Anyone who does SEO as part of their job knows that th","copyrightYear":"2024","articleSection":"seo","articleBody":"\n The YouTube playlist referenced throughout this blog can be found here: 6 Part YouTube Series [Setting Up & Using the Query Optimization Checker] \nAnyone who does SEO as part of their job knows that there\u2019s a lot of value in analyzing which queries are and are not sending traffic to specific pages on a site. \nThe most common uses for these datasets are to align on-page optimizations with existing rankings and traffic, and to identify gaps in ranking keywords. \nHowever, working with this data is extremely tedious because it\u2019s only available in the Google Search Console interface, and you have to look at only one page at a time. \nOn top of that, to get information on the text included in the ranking page, you either need to manually review it or extract it with a tool like Screaming Frog. \nYou need this kind of view:\n\n\u2026but even the above view would only be viable one page at a time, and as mentioned, the actual text extraction would have had to be separate as well.\nGiven these apparent issues with the readily available data at the SEO community\u2019s disposal, the data engineering team at Inseev Interactive has been spending a lot of time thinking about how we can improve these processes at scale. \nOne specific example that we\u2019ll be reviewing in this post is a simple script that allows you to get the above data in a flexible format for many great analytical views.\nBetter yet, this will all be available with only a few single input variables.\nA quick rundown of tool functionality \nThe tool automatically compares the text on-page to the Google Search Console top queries at the page-level to let you know which queries are on-page as well as how many times they appear on the page. An optional XPath variable also allows you to specify the part of the page you want to analyze text on.\nThis means you\u2019ll know exactly what queries are driving clicks\/impressions that are not in your , , or even something as specific as the first paragraph within the main content (MC). The sky's the limit. \nFor those of you not familiar, we\u2019ve also provided some quick XPath expressions you can use, as well as how to create site-specific XPath expressions within the \"Input Variables\" section of the post.\nPost setup usage & datasets\nOnce the process is set up, all that\u2019s required is filling out a short list of variables and the rest is automated for you.\nThe output dataset includes multiple automated CSV datasets, as well as a structured file format to keep things organized. A simple pivot of the core analysis automated CSV can provide you with the below dataset and many other useful layouts.\n\n\u2026 Even some \"new metrics\"?\nOkay, not technically \"new,\" but if you exclusively use the Google Search Console user interface, then you haven\u2019t likely had access to metrics like these before: \"Max Position,\" \"Min Position,\" and \"Count Position\" for the specified date range \u2013 all of which are explained in the \"Running your first analysis\" section of the post.\n\nTo really demonstrate the impact and usefulness of this dataset, in the video below we use the Colab tool to: \n[3 Minutes] \u2014 Find non-brand optimization opportunities for https:\/\/www.inseev.com\/ (around 30 pages in video, but you could do any number of pages)[3 Minutes] \u2014 Convert the CSV to a more useable format [1 Minute] \u2013 Optimize the first title with the resulting dataset\n\nOkay, you\u2019re all set for the initial rundown. Hopefully we were able to get you excited before moving into the somewhat dull setup process.\nKeep in mind that at the end of the post, there is also a section including a few helpful use cases and an example template! To jump directly to each section of this post, please use the following links:\u00a0\n\n[Quick Consideration #1] \u2014 The web scraper built into the tool DOES NOT support JavaScript rendering. If your website uses client-side rendering, the full functionality of the tool unfortunately will not work. \n[Quick Consideration #2] \u2014 This tool has been heavily tested by the members of the Inseev team. Most bugs [specifically with the web scraper] have been found and fixed, but like any other program, it is possible that other issues may come up.\nIf you encounter any errors, feel free to reach out to us directly at jmelman@inseev.com or info@inseev.com, and either myself or one of the other members of the data engineering team at Inseev would be happy to help you out.If new errors are encountered and fixed, we will always upload the updated script to the code repository linked in the sections below so the most up-to-date code can be utilized by all!\nOne-time setup of the script in Google Colab (in less than 20 minutes)\nThings you\u2019ll need:\nGoogle DriveGoogle Cloud Platform accountGoogle Search Console access\nVideo walkthrough: tool setup process\nBelow you\u2019ll find step-by-step editorial instructions in order to set up the entire process. However, if following editorial instructions isn\u2019t your preferred method, we recorded a video of the setup process as well.\nAs you\u2019ll see, we start with a brand new Gmail and set up the entire process in approximately 12 minutes, and the output is completely worth the time. \n\nKeep in mind that the setup is one-off, and once set up, the tool should work on command from there on!\nEditorial walkthrough: tool setup process\nFour-part process: \nDownload the files from Github and set up in Google DriveSet up a Google Cloud Platform (GCP) Project (skip if you already have an account)Create the OAuth 2.0 client ID for the Google Search Console (GSC) API (skip if you already have an OAuth client ID with the Search Console API enabled)Add the OAuth 2.0 credentials to the Config.py file\nPart one: Download the files from Github and set up in Google Drive\nDownload source files (no code required)\n1.\u00a0Navigate here.\n2. Select \"Code\" > \"Download Zip\"\n*You can also use 'git clone https:\/\/github.com\/jmelm93\/query-optmization-checker.git'\u00a0if you\u2019re more comfortable using the command prompt.\n\nInitiate Google Colab in Google Drive\nIf you already have a Google Colaboratory setup in your Google Drive, feel free to skip this step.\n1. Navigate here.\n2. Click \"New\" > \"More\" > \"Connect more apps\".\n\n3. Search \"Colaboratory\" > Click into the application page.\n\n4. Click \"Install\" > \"Continue\" > Sign in with OAuth.\n\n5. Click \"OK\" with the prompt checked so Google Drive automatically sets appropriate files to open with Google Colab (optional).\n\nImport the downloaded folder to Google Drive & open in Colab\n1.\u00a0Navigate to Google Drive and create a folder called \"Colab Notebooks\".\nIMPORTANT: The folder needs to be called \"Colab Notebooks\" as the script is configured to look for the \"api\" folder from within \"Colab Notebooks\".\nError resulting in improper folder naming.\n2. Import the folder downloaded from Github into Google Drive.\nAt the end of this step, you should have a folder in your Google Drive that contains the below items: \n\nPart two: Set up a Google Cloud Platform (GCP) project\nIf you already have a Google Cloud Platform (GCP) account, feel free to skip this part.\n1. Navigate to the Google Cloud page.\n2. Click on the \"Get started for free\" CTA (CTA text may change over time).\n\n3. Sign in with the OAuth credentials of your choice. Any Gmail email will work.\n4. Follow the prompts to sign up for your GCP account.\nYou\u2019ll be asked to supply a credit card to sign up, but there is currently a $300 free trial and Google notes that they won\u2019t charge you until you upgrade your account. \nPart three: Create a 0Auth 2.0 client ID for the Google Search Console (GSC) API\n1. Navigate here.\n2. After you log in to your desired Google Cloud account, click \"ENABLE\".\n\n3. Configure the consent screen.\nIn the consent screen creation process, select \"External,\" then continue onto the \"App Information.\"\nExample below of minimum requirements:\n\n\nSkip \"Scopes\"Add the email(s) you\u2019ll use for the Search Console API authentication into the \"Test Users\". There could be other emails versus just the one that owns the Google Drive. An example may be a client\u2019s email where you access the Google Search Console UI to view their KPIs.\n\n4. In the left-rail navigation, click into \"Credentials\" > \"CREATE CREDENTIALS\" > \"OAuth Client ID\" (Not in image).\n\n5. Within the \"Create OAuth client ID\" form, fill in:\n\n\n\n6. Save the \"Client ID\" and \"Client Secret\" \u2014 as these will be added into the \"api\" folder config.py file from the Github files we downloaded. \nThese should have appeared in a popup after hitting \"CREATE\"The \"Client Secret\" is functionally the password to your Google Cloud (DO NOT post this to the public\/share it online)\nPart four: Add the OAuth 2.0 credentials to the Config.py file \n1. Return to Google Drive and navigate into the \"api\" folder.\n2. Click into config.py.\n\n3. Choose to open with \"Text Editor\" (or another app of your choice) to modify the config.py file.\n\n4. Update the three areas highlighted below with your:\nCLIENT_ID: From the OAuth 2.0 client ID setup processCLIENT_SECRET: From the OAuth 2.0 client ID setup processGOOGLE_CREDENTIALS: Email that corresponds with your CLIENT_ID & CLIENT_SECRET\n\n5. Save the file once updated!\nCongratulations, the boring stuff is over. You are now ready to start using the Google Colab file!\nRunning your first analysis\nRunning your first analysis may be a little intimidating, but stick with it and it will get easy fast. \nBelow, we\u2019ve provided details regarding the input variables required, as well as notes on things to keep in mind when running the script and analyzing the resulting dataset. \nAfter we walk through these items, there are also a few example projects and video walkthroughs showcasing ways to utilize these datasets for client deliverables.\nSetting up the input variables\nXPath extraction with the \"xpath_selector\" variable\nHave you ever wanted to know every query driving clicks and impressions to a webpage that aren\u2019t in your or tag? Well, this parameter will allow you to do just that. \nWhile optional, using this is highly encouraged and we feel it \"supercharges\" the analysis. Simply define site sections with Xpaths and the script will do the rest. \n\nIn the above video, you\u2019ll find examples on how to create site specific extractions. In addition, below are some universal extractions that should work on almost any site on the web:\n'\/\/title'\u00a0# Identifies a tag'\/\/h1'\u00a0# Identifies a tag'\/\/h2'\u00a0# Identifies a tag\nSite Specific: How to scrape only the main content (MC)?\nChaining Xpaths \u2013 Add a \"|\" Between Xpaths\n'\/\/title | \/\/h1'\u00a0# Gets you both the and tag in 1 run'\/\/h1 | \/\/h2 | \/\/h3'\u00a0# Gets you both the , and tags in 1 run\nOther variables\nHere\u2019s a video overview of the other variables with a short description of each.\n\n'colab_path' [Required] \u2013 The path in which the Colab file lives. This should be \"\/content\/drive\/My Drive\/Colab Notebooks\/\".\n'domain_lookup' [Required] \u2013 Homepage of the website utilized for analysis.\n'startdate' & 'enddate'\u00a0[Required] \u2013 Date range for the analysis period. \n'gsc_sorting_field' [Required] \u2013 The tool pulls the top N pages as defined by the user. The \"top\" is defined by either \"clicks_sum\" or \"impressions_sum.\" Please review the video for a more detailed description.\n'gsc_limit_pages_number' [Required] \u2013 Numeric value that represents the number of resulting pages you\u2019d like within the dataset. \n'brand_exclusions' [Optional] \u2013 The string sequence(s) that commonly result in branded queries (e.g., anything containing \"inseev\" will be branded queries for \"Inseev Interactive\").\n'impressions_exclusion' [Optional] \u2013 Numeric value used to exclude queries that are potentially irrelevant due to the lack of pre-existing impressions. This is primarily relevant for domains with strong pre-existing rankings on a large scale number of pages.\n'page_inclusions' [Optional] \u2013 The string sequence(s) that are found within the desired analysis page type. If you\u2019d like to analyze the entire domain, leave this section blank.\nRunning the script\nKeep in mind that once the script finishes running, you\u2019re generally going to use the \"step3_query-optimizer_domain-YYYY-MM-DD.csv\" file for analysis, but there are others with the raw datasets to browse as well. \nPractical use cases for the \"step3_query-optimizer_domain-YYYY-MM-DD.csv\" file can be found in the \"Practical use cases and templates\" section. \nThat said, there are a few important things to note while testing things out:\n1. No JavaScript Crawling: As mentioned at the start of the post, this script is NOT set up for JavaScript crawling, so if your target website uses a JS frontend with client-side rendering to populate the main content (MC), the scrape will not be useful. However, the basic functionality of quickly getting the top XX (user-defined) queries and pages can still be useful by itself.\n2. Google Drive \/ GSC API Auth: The first time you run the script in each new session it will prompt you to authenticate both the Google Drive and the Google Search Console credentials. \n\nGSC authentication: Authenticate whichever email has permission to use the desired Google Search Console account.If you attempt to authenticate and you get an error that looks like the one below, please revisit the \"Add the email(s) you\u2019ll use the Colab app with into the 'Test Users'\" from Part 3, step 3\u00a0in the process above:\u00a0setting up the consent screen.\n\nQuick tip: The Google Drive account and the GSC Authentication DO NOT have to be the same email, but they do require separate authentications with OAuth.\n3. Running the script: Either navigate to \"Runtime\" > \"Restart and Run All\" or use the keyboard shortcut CTRL + fn9 to start running the script.\n4. Populated datasets\/folder structure: There are three CSVs populated by the script \u2013 all nested within a folder structure based on the \"domain_lookup\" input variable. \n\nAutomated Organization [Folders]: Each time you rerun the script on a new domain, it will create a new folder structure in order to keep things organized. Automated Organization [File Naming]: The CSVs include the date of the export appended to the end, so you\u2019ll always know when the process ran as well as the date range for the dataset.\n5. Date range for dataset:\u00a0Inside of the dataset there is a \"gsc_datasetID\" column generated, which includes the date range of the extraction.\n\n6. Unfamiliar metrics:\u00a0The resulting dataset has all the KPIs we know and love \u2013 e.g. clicks, impressions, average (mean) position \u2014 but there are also a few you cannot get directly from the GSC UI:\n'count_instances_gsc'\u00a0\u2014 the number of instances the query got at least 1 impression during the specified date range. Scenario example: GSC tells you that you were in an average position 6 for a large keyword like \"flower delivery\" and you only received 20 impressions in a 30-day date range. Doesn\u2019t seem possible that you were really in position 6, right? Well, now you can see that was potentially because you only actually showed up on one day in that 30-day date range (e.g. count_instances_gsc = 1)\n\nQuick tip #1: Large variance in max\/min may tell you that your keyword has been fluctuating heavily.\nQuick tip #2: These KPIs, in conjunction with the \"count_instances_gsc\", can exponentially further your understanding of query performance and opportunity.\nPractical use cases and templates\nAccess the\u00a0recommended multi-use template.\nRecommended use: Download file and use with Excel. Subjectively speaking, I believe Excel has a much more user friendly pivot table functionality in comparison to Google Sheets \u2014 which is critical for using this template. \nAlternative use: If you do not have Microsoft Excel or you prefer a different tool, you can use most spreadsheet apps that contain pivot functionality. \nFor those who opt for an alternative spreadsheet software\/app: \nBelow are the pivot fields to mimic upon setup. You may have to adjust the Vlookup functions found on the \"Step 3 _ Analysis Final Doc\" tab, depending on whether your updated pivot columns align with the current pivot I\u2019ve supplied. \n\n\nProject example: Title & H1 re-optimizations (video walkthrough)\nProject description: Locate keywords that are driving clicks and impressions to high value pages and that do not exist within the and tags by reviewing GSC query KPIs vs. current page elements. Use the resulting findings to re-optimize both the and tags for pre-existing pages.\nProject assumptions: This process assumes that inserting keywords into both the and tags is a strong SEO practice for relevancy optimization, and that it\u2019s important to include related keyword variants into these areas (e.g. non-exact match keywords with matching SERP intent).\n\nProject example: On-page text refresh\/re-optimization\nProject description: Locate keywords that are driving clicks and impressions to editorial pieces of content that DO NOT exist within the first paragraph within the body of the main content (MC). Perform an on-page refresh of introductory content within editorial pages to include high value keyword opportunities. \nProject assumptions: This process assumes that inserting keywords into the first several sentences of a piece of content is a strong SEO practice for relevancy optimization, and that it\u2019s important to include related keyword variants into these areas (e.g. non-exact match keywords with matching SERP intent).\n\nFinal thoughts\nWe hope this post has been helpful and opened you up to the idea of using Python and Google Colab to supercharge your relevancy optimization strategy. \nAs mentioned throughout the post, keep the following in mind:\nGithub repository will be updated with any changes we make in the future. There is the possibility of undiscovered errors. If these occur, Inseev is happy to help! In fact, we would actually appreciate you reaching out to investigate and fix errors (if any do appear). This way others don\u2019t run into the same problems.\nOther than the above, if you have any ideas on ways to Colab (pun intended) on data analytics projects, feel free to reach out with ideas.\n \n \n ","publisher":{"@id":"#Publisher","@type":"Organization","name":"ArtanBiz Mag","logo":{"@type":"ImageObject","url":"https:\/\/artanbiz.com\/wp-content\/uploads\/2024\/06\/logo.png"},"sameAs":["#","#","#","#"]},"sourceOrganization":{"@id":"#Publisher"},"copyrightHolder":{"@id":"#Publisher"},"mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/artanbiz.com\/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included\/","breadcrumb":{"@id":"#Breadcrumb"}},"author":{"@type":"Person","name":"Ali JalilPour","url":"https:\/\/artanbiz.com\/author\/admin\/"},"image":{"@type":"ImageObject","url":"https:\/\/artanbiz.com\/wp-content\/uploads\/2024\/06\/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included_667d4b6e59c4c.jpeg","width":1200,"height":400}}</script> <div id="share-buttons-bottom" class="share-buttons share-buttons-bottom"> <div class="share-links share-centered icons-only"> <div class="share-title"> <span class="tie-icon-share" aria-hidden="true"></span> <span> Share</span> </div> <a href="https://www.facebook.com/sharer.php?u=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Facebook" target="_blank" class="facebook-share-btn " data-raw="https://www.facebook.com/sharer.php?u={post_link}"> <span class="share-btn-icon tie-icon-facebook"></span> <span class="screen-reader-text">Facebook</span> </a> <a href="https://twitter.com/intent/tweet?text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="X" target="_blank" class="twitter-share-btn " data-raw="https://twitter.com/intent/tweet?text={post_title}&url={post_link}"> <span class="share-btn-icon tie-icon-twitter"></span> <span class="screen-reader-text">X</span> </a> <a href="https://www.linkedin.com/shareArticle?mini=true&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&title=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="LinkedIn" target="_blank" class="linkedin-share-btn " data-raw="https://www.linkedin.com/shareArticle?mini=true&url={post_full_link}&title={post_title}"> <span class="share-btn-icon tie-icon-linkedin"></span> <span class="screen-reader-text">LinkedIn</span> </a> <a href="https://www.tumblr.com/share/link?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&name=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Tumblr" target="_blank" class="tumblr-share-btn " data-raw="https://www.tumblr.com/share/link?url={post_link}&name={post_title}"> <span class="share-btn-icon tie-icon-tumblr"></span> <span class="screen-reader-text">Tumblr</span> </a> <a href="https://pinterest.com/pin/create/button/?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&description=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&media=https://artanbiz.com/wp-content/uploads/2024/06/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included_667d4b6e59c4c.jpeg" rel="external noopener nofollow" title="Pinterest" target="_blank" class="pinterest-share-btn " data-raw="https://pinterest.com/pin/create/button/?url={post_link}&description={post_title}&media={post_img}"> <span class="share-btn-icon tie-icon-pinterest"></span> <span class="screen-reader-text">Pinterest</span> </a> <a href="https://reddit.com/submit?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&title=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Reddit" target="_blank" class="reddit-share-btn " data-raw="https://reddit.com/submit?url={post_link}&title={post_title}"> <span class="share-btn-icon tie-icon-reddit"></span> <span class="screen-reader-text">Reddit</span> </a> <a href="https://vk.com/share.php?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="VKontakte" target="_blank" class="vk-share-btn " data-raw="https://vk.com/share.php?url={post_link}"> <span class="share-btn-icon tie-icon-vk"></span> <span class="screen-reader-text">VKontakte</span> </a> <a href="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&description=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&media=https://artanbiz.com/wp-content/uploads/2024/06/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included_667d4b6e59c4c.jpeg" rel="external noopener nofollow" title="Odnoklassniki" target="_blank" class="odnoklassniki-share-btn " data-raw="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl={post_link}&description={post_title}&media={post_img}"> <span class="share-btn-icon tie-icon-odnoklassniki"></span> <span class="screen-reader-text">Odnoklassniki</span> </a> <a href="https://getpocket.com/save?title=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Pocket" target="_blank" class="pocket-share-btn " data-raw="https://getpocket.com/save?title={post_title}&url={post_link}"> <span class="share-btn-icon tie-icon-get-pocket"></span> <span class="screen-reader-text">Pocket</span> </a> <a href="https://web.skype.com/share?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Skype" target="_blank" class="skype-share-btn " data-raw="https://web.skype.com/share?url={post_link}&text={post_title}"> <span class="share-btn-icon tie-icon-skype"></span> <span class="screen-reader-text">Skype</span> </a> <a href="mailto:?subject=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&body=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Share via Email" target="_blank" class="email-share-btn " data-raw="mailto:?subject={post_title}&body={post_link}"> <span class="share-btn-icon tie-icon-envelope"></span> <span class="screen-reader-text">Share via Email</span> </a> <a href="#" rel="external noopener nofollow" title="Print" target="_blank" class="print-share-btn " data-raw="#"> <span class="share-btn-icon tie-icon-print"></span> <span class="screen-reader-text">Print</span> </a> </div><!-- .share-links /--> </div><!-- .share-buttons /--> </article><!-- #the-post /--> <div class="post-components"> <div class="about-author container-wrapper about-author-1"> <div class="author-avatar"> <a href="https://artanbiz.com/author/admin/"> <img alt='Photo of Ali JalilPour' src='https://secure.gravatar.com/avatar/7d1062ff0aa6a43c53508a5c24afc28b?s=180&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/7d1062ff0aa6a43c53508a5c24afc28b?s=360&d=mm&r=g 2x' class='avatar avatar-180 photo' height='180' width='180' loading='lazy' decoding='async'/> </a> </div><!-- .author-avatar /--> <div class="author-info"> <h3 class="author-name"><a href="https://artanbiz.com/author/admin/">Ali JalilPour</a></h3> <div class="author-bio"> </div><!-- .author-bio /--> <ul class="social-icons"> <li class="social-icons-item"> <a href="https://artanbiz.com" rel="external noopener nofollow" target="_blank" class="social-link url-social-icon"> <span class="tie-icon-home" aria-hidden="true"></span> <span class="screen-reader-text">Website</span> </a> </li> </ul> </div><!-- .author-info /--> <div class="clearfix"></div> </div><!-- .about-author /--> <div class="container-wrapper" id="post-newsletter"> <div class="subscribe-widget"> <div class="widget-inner-wrap"> <span class="tie-icon-envelope newsletter-icon" aria-hidden="true"></span> <div class="subscribe-widget-content"> <span class="subscribe-subtitle">With Product You Purchase</span> <h3>Subscribe to our mailing list to get the new updates!</h3> <p>Lorem ipsum dolor sit amet, consectetur.</p> </div> <div id="mc_embed_signup"> <form action="#" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="subscribe-form validate" target="_blank" novalidate> <div id="mc_embed_signup_scroll"> <div class="mc-field-group"> <label class="screen-reader-text" for="mce-EMAIL">Enter your Email address</label> <input type="email" value="" id="mce-EMAIL" placeholder="Enter your Email address" name="EMAIL" class="subscribe-input required email" id="mce-EMAIL"> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button subscribe-submit"> </div> </form> </div> </div><!-- .widget-inner-wrap /--> </div><!-- .subscribe-widget /--> </div><!-- #post-newsletter /--> <div class="prev-next-post-nav container-wrapper media-overlay"> <div class="tie-col-xs-6 prev-post"> <a href="https://artanbiz.com/google-advanced-search-operators-for-competitive-content-research/" style="background-image: url(https://artanbiz.com/wp-content/uploads/2024/06/google-advanced-search-operators-for-competitive-content-research_667d4b639d8b1-390x300.png)" class="post-thumb" rel="prev"> <div class="post-thumb-overlay-wrap"> <div class="post-thumb-overlay"> <span class="tie-icon tie-media-icon"></span> <span class="screen-reader-text">Google Advanced Search Operators for Competitive Content Research</span> </div> </div> </a> <a href="https://artanbiz.com/google-advanced-search-operators-for-competitive-content-research/" rel="prev"> <h3 class="post-title">Google Advanced Search Operators for Competitive Content Research</h3> </a> </div> <div class="tie-col-xs-6 next-post"> <a href="https://artanbiz.com/local-justifications-are-a-big-deal-and-you-can-influence-them/" style="background-image: url(https://artanbiz.com/wp-content/uploads/2024/06/local-justifications-are-a-big-deal-and-you-can-influence-them_667d4b74c4b6c-390x300.png)" class="post-thumb" rel="next"> <div class="post-thumb-overlay-wrap"> <div class="post-thumb-overlay"> <span class="tie-icon tie-media-icon"></span> <span class="screen-reader-text">Local Justifications Are a Big Deal and You Can Influence Them</span> </div> </div> </a> <a href="https://artanbiz.com/local-justifications-are-a-big-deal-and-you-can-influence-them/" rel="next"> <h3 class="post-title">Local Justifications Are a Big Deal and You Can Influence Them</h3> </a> </div> </div><!-- .prev-next-post-nav /--> <div id="related-posts" class="container-wrapper has-extra-post"> <div class="mag-box-title the-global-title"> <h3>Related Articles</h3> </div> <div class="related-posts-list"> <div class="related-item tie-standard"> <a aria-label="Web hosting for SEO: Why it’s important" href="https://artanbiz.com/web-hosting-for-seo-why-its-important/" class="post-thumb"><img width="390" height="300" src="https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-390x300.jpeg" class="attachment-jannah-image-large size-jannah-image-large wp-post-image" alt="" decoding="async" loading="lazy" /></a> <h3 class="post-title"><a href="https://artanbiz.com/web-hosting-for-seo-why-its-important/">Web hosting for SEO: Why it’s important</a></h3> <div class="post-meta clearfix"><span class="date meta-item tie-icon">July 11, 2024</span></div><!-- .post-meta --> </div><!-- .related-item /--> <div class="related-item tie-standard"> <a aria-label="SEM career playbook: Overview of a growing industry" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/" class="post-thumb"><img width="390" height="300" src="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-390x300.jpeg" class="attachment-jannah-image-large size-jannah-image-large wp-post-image" alt="" decoding="async" loading="lazy" /></a> <h3 class="post-title"><a href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/">SEM career playbook: Overview of a growing industry</a></h3> <div class="post-meta clearfix"><span class="date meta-item tie-icon">July 11, 2024</span></div><!-- .post-meta --> </div><!-- .related-item /--> <div class="related-item tie-standard"> <h3 class="post-title"><a href="https://artanbiz.com/what-is-seo-search-engine-optimization/">What Is SEO – Search Engine Optimization?</a></h3> <div class="post-meta clearfix"><span class="date meta-item tie-icon">July 11, 2024</span></div><!-- .post-meta --> </div><!-- .related-item /--> <div class="related-item tie-standard"> <a aria-label="How I Develop Successful Link Building Strategies for My Clients" href="https://artanbiz.com/how-i-develop-successful-link-building-strategies-for-my-clients/" class="post-thumb"><img width="390" height="300" src="https://artanbiz.com/wp-content/uploads/2024/07/how-i-develop-successful-link-building-strategies-for-my-clients_668d03eb823fa-390x300.png" class="attachment-jannah-image-large size-jannah-image-large wp-post-image" alt="" decoding="async" loading="lazy" /></a> <h3 class="post-title"><a href="https://artanbiz.com/how-i-develop-successful-link-building-strategies-for-my-clients/">How I Develop Successful Link Building Strategies for My Clients</a></h3> <div class="post-meta clearfix"><span class="date meta-item tie-icon">July 9, 2024</span></div><!-- .post-meta --> </div><!-- .related-item /--> </div><!-- .related-posts-list /--> </div><!-- #related-posts /--> <div class="compact-comments"> <a id="show-comments-section" href="#" class="button">Leave a Reply</a> </div> <style>#comments{display: none;}</style> <div id="comments" class="comments-area"> <div id="add-comment-block" class="container-wrapper"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title the-global-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/#respond" style="display:none;">Cancel reply</a></small></h3><form action="https://artanbiz.com/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p> <p class="comment-form-url"><label for="url">Website</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Save my name, email, and website in this browser for the next time I comment.</label></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='3180' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="666ce5a1ac" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="154"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div><!-- #respond --> </div><!-- #add-comment-block /--> </div><!-- .comments-area --> </div><!-- .post-components /--> </div><!-- .main-content --> <div id="check-also-box" class="container-wrapper check-also-right"> <div class="widget-title the-global-title"> <div class="the-subtitle">Check Also</div> <a href="#" id="check-also-close" class="remove"> <span class="screen-reader-text">Close</span> </a> </div> <div class="widget posts-list-big-first has-first-big-post"> <ul class="posts-list-items"> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="How I Develop Successful Link Building Strategies for My Clients" href="https://artanbiz.com/how-i-develop-successful-link-building-strategies-for-my-clients/" class="post-thumb"><span class="post-cat-wrap"><span class="post-cat tie-cat-32">seo</span></span><img width="390" height="300" src="https://artanbiz.com/wp-content/uploads/2024/07/how-i-develop-successful-link-building-strategies-for-my-clients_668d03eb823fa-390x300.png" class="attachment-jannah-image-large size-jannah-image-large wp-post-image" alt="" decoding="async" loading="lazy" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/how-i-develop-successful-link-building-strategies-for-my-clients/">How I Develop Successful Link Building Strategies for My Clients</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> </ul><!-- .related-posts-list /--> </div> </div><!-- #related-posts /--> <aside class="sidebar tie-col-md-4 tie-col-xs-12 normal-side is-sticky" aria-label="Primary Sidebar"> <div class="theiaStickySidebar"> <div id="author_post_widget-4" class="container-wrapper widget widget_author_posts"><div class="widget-title the-global-title"><div class="the-subtitle">By Ali JalilPour</div></div><ul class="widget-posts-list"> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="Web hosting for SEO: Why it’s important" href="https://artanbiz.com/web-hosting-for-seo-why-its-important/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/web-hosting-for-seo-why-its-important/">Web hosting for SEO: Why it’s important</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="SEM career playbook: Overview of a growing industry" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/">SEM career playbook: Overview of a growing industry</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-body no-small-thumbs"> <a class="post-title the-subtitle" href="https://artanbiz.com/what-is-seo-search-engine-optimization/">What Is SEO – Search Engine Optimization?</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-body no-small-thumbs"> <a class="post-title the-subtitle" href="https://artanbiz.com/what-is-ppc-pay-per-click-marketing/">What is PPC – Pay-Per-Click marketing?</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="Google Analytics 4 guide for PPC" href="https://artanbiz.com/google-analytics-4-guide-for-ppc/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/google-analytics-4-guide-for-ppc_667babead33fe-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/google-analytics-4-guide-for-ppc_667babead33fe-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/google-analytics-4-guide-for-ppc_667babead33fe-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/google-analytics-4-guide-for-ppc/">Google Analytics 4 guide for PPC</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> </ul><a class="button fullwidth" href="https://artanbiz.com/author/admin/">All (7561)</a><div class="clearfix"></div></div><!-- .widget /--><div id="social-statistics-7" class="container-wrapper widget social-statistics-widget"><div class="widget-title the-global-title"><div class="the-subtitle">Follow Us</div></div> <ul class="solid-social-icons solid-social-icons circle-three-cols circle-icons Arqam-Lite"> <span class="theme-notice">Go to the Arqam options page to set your social accounts.</span> </ul> <div class="clearfix"></div></div><!-- .widget /--><div id="posts-list-widget-38" class="container-wrapper widget posts-list"><div class="widget-title the-global-title"><div class="the-subtitle">Popular Posts</div></div><div class="widget-posts-list-wrapper"><div class="widget-posts-list-container posts-list-counter media-overlay" ><ul class="posts-list-items widget-posts-wrapper"> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="SEM career playbook: Overview of a growing industry" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/">SEM career playbook: Overview of a growing industry</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="Face-off – 4 Ways to De-personalize Google" href="https://artanbiz.com/face-off-4-ways-to-de-personalize-google/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/face-off-4-ways-to-de-personalize-google_66816b7cf3fcd-150x150.png" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/face-off-4-ways-to-de-personalize-google_66816b7cf3fcd-150x150.png 150w, https://artanbiz.com/wp-content/uploads/2024/06/face-off-4-ways-to-de-personalize-google_66816b7cf3fcd-96x96.png 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/face-off-4-ways-to-de-personalize-google/">Face-off – 4 Ways to De-personalize Google</a> <div class="post-meta"> <span class="date meta-item tie-icon">June 30, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-body no-small-thumbs"> <a class="post-title the-subtitle" href="https://artanbiz.com/what-is-ppc-pay-per-click-marketing/">What is PPC – Pay-Per-Click marketing?</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="How To Earn High-Authority Links That Drive Rankings" href="https://artanbiz.com/how-to-earn-high-authority-links-that-drive-rankings/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/how-to-earn-high-authority-links-that-drive-rankings_667d41f1e9905-150x150.png" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/how-to-earn-high-authority-links-that-drive-rankings_667d41f1e9905-150x150.png 150w, https://artanbiz.com/wp-content/uploads/2024/06/how-to-earn-high-authority-links-that-drive-rankings_667d41f1e9905-96x96.png 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/how-to-earn-high-authority-links-that-drive-rankings/">How To Earn High-Authority Links That Drive Rankings</a> <div class="post-meta"> <span class="date meta-item tie-icon">June 27, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="IR Tools to Play with" href="https://artanbiz.com/ir-tools-to-play-with/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/07/ir-tools-to-play-with_6685b24e1b926-150x150.png" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/07/ir-tools-to-play-with_6685b24e1b926-150x150.png 150w, https://artanbiz.com/wp-content/uploads/2024/07/ir-tools-to-play-with_6685b24e1b926-96x96.png 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/ir-tools-to-play-with/">IR Tools to Play with</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 3, 2024</span> </div> </div> </li> </ul></div></div><div class="clearfix"></div></div><!-- .widget /--> <div id="widget_tabs-5" class="container-wrapper tabs-container-wrapper tabs-container-4"> <div class="widget tabs-widget"> <div class="widget-container"> <div class="tabs-widget"> <div class="tabs-wrapper"> <ul class="tabs"> <li><a href="#widget_tabs-5-popular">Popular</a></li><li><a href="#widget_tabs-5-recent">Recent</a></li><li><a href="#widget_tabs-5-comments">Comments</a></li> </ul><!-- ul.tabs-menu /--> <div id="widget_tabs-5-popular" class="tab-content tab-content-popular"> <ul class="tab-content-elements"> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="SEM career playbook: Overview of a growing industry" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/">SEM career playbook: Overview of a growing industry</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="Face-off – 4 Ways to De-personalize Google" href="https://artanbiz.com/face-off-4-ways-to-de-personalize-google/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/face-off-4-ways-to-de-personalize-google_66816b7cf3fcd-150x150.png" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/face-off-4-ways-to-de-personalize-google_66816b7cf3fcd-150x150.png 150w, https://artanbiz.com/wp-content/uploads/2024/06/face-off-4-ways-to-de-personalize-google_66816b7cf3fcd-96x96.png 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/face-off-4-ways-to-de-personalize-google/">Face-off – 4 Ways to De-personalize Google</a> <div class="post-meta"> <span class="date meta-item tie-icon">June 30, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-body no-small-thumbs"> <a class="post-title the-subtitle" href="https://artanbiz.com/what-is-ppc-pay-per-click-marketing/">What is PPC – Pay-Per-Click marketing?</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="How To Earn High-Authority Links That Drive Rankings" href="https://artanbiz.com/how-to-earn-high-authority-links-that-drive-rankings/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/how-to-earn-high-authority-links-that-drive-rankings_667d41f1e9905-150x150.png" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/how-to-earn-high-authority-links-that-drive-rankings_667d41f1e9905-150x150.png 150w, https://artanbiz.com/wp-content/uploads/2024/06/how-to-earn-high-authority-links-that-drive-rankings_667d41f1e9905-96x96.png 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/how-to-earn-high-authority-links-that-drive-rankings/">How To Earn High-Authority Links That Drive Rankings</a> <div class="post-meta"> <span class="date meta-item tie-icon">June 27, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="IR Tools to Play with" href="https://artanbiz.com/ir-tools-to-play-with/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/07/ir-tools-to-play-with_6685b24e1b926-150x150.png" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/07/ir-tools-to-play-with_6685b24e1b926-150x150.png 150w, https://artanbiz.com/wp-content/uploads/2024/07/ir-tools-to-play-with_6685b24e1b926-96x96.png 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/ir-tools-to-play-with/">IR Tools to Play with</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 3, 2024</span> </div> </div> </li> </ul> </div><!-- .tab-content#popular-posts-tab /--> <div id="widget_tabs-5-recent" class="tab-content tab-content-recent"> <ul class="tab-content-elements"> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="Web hosting for SEO: Why it’s important" href="https://artanbiz.com/web-hosting-for-seo-why-its-important/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/web-hosting-for-seo-why-its-important_667b9fdf0d381-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/web-hosting-for-seo-why-its-important/">Web hosting for SEO: Why it’s important</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="SEM career playbook: Overview of a growing industry" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/sem-career-playbook-overview-of-a-growing-industry_667b9fda82946-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/">SEM career playbook: Overview of a growing industry</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-body no-small-thumbs"> <a class="post-title the-subtitle" href="https://artanbiz.com/what-is-seo-search-engine-optimization/">What Is SEO – Search Engine Optimization?</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 11, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-body no-small-thumbs"> <a class="post-title the-subtitle" href="https://artanbiz.com/what-is-ppc-pay-per-click-marketing/">What is PPC – Pay-Per-Click marketing?</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> <li class="widget-single-post-item widget-post-list tie-standard"> <div class="post-widget-thumbnail"> <a aria-label="Google Analytics 4 guide for PPC" href="https://artanbiz.com/google-analytics-4-guide-for-ppc/" class="post-thumb"><img width="150" height="150" src="https://artanbiz.com/wp-content/uploads/2024/06/google-analytics-4-guide-for-ppc_667babead33fe-150x150.jpeg" class="attachment-jannah-image-small size-jannah-image-small tie-small-image wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://artanbiz.com/wp-content/uploads/2024/06/google-analytics-4-guide-for-ppc_667babead33fe-150x150.jpeg 150w, https://artanbiz.com/wp-content/uploads/2024/06/google-analytics-4-guide-for-ppc_667babead33fe-96x96.jpeg 96w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> </div><!-- post-alignleft /--> <div class="post-widget-body "> <a class="post-title the-subtitle" href="https://artanbiz.com/google-analytics-4-guide-for-ppc/">Google Analytics 4 guide for PPC</a> <div class="post-meta"> <span class="date meta-item tie-icon">July 9, 2024</span> </div> </div> </li> </ul> </div><!-- .tab-content#recent-posts-tab /--> <div id="widget_tabs-5-comments" class="tab-content tab-content-comments"> <ul class="tab-content-elements"> </ul> </div><!-- .tab-content#comments-tab /--> </div><!-- .tabs-wrapper-animated /--> </div><!-- .tabs-widget /--> </div><!-- .widget-container /--> </div><!-- .tabs-widget /--> </div><!-- .container-wrapper /--> <div id="tie-widget-categories-13" class="container-wrapper widget widget_categories tie-widget-categories"><div class="widget-title the-global-title"><div class="the-subtitle">Categories</div></div><ul> <li class="cat-item cat-counter tie-cat-item-32"><a href="https://artanbiz.com/category/seo/">seo</a> <span>7,545</span> </li> <li class="cat-item cat-counter tie-cat-item-92"><a href="https://artanbiz.com/category/content-marketing/">Content Marketing</a> <span>13</span> </li> <li class="cat-item cat-counter tie-cat-item-91"><a href="https://artanbiz.com/category/ppc/">PPC</a> <span>3</span> </li> </ul><div class="clearfix"></div></div><!-- .widget /--><div id="stream-item-widget-8" class="widget stream-item-widget widget-content-only"><div class="stream-item-widget-content"><a href="#" target="_blank" rel="nofollow noopener"><img class="widget-stream-image" src="https://via.placeholder.com/672x1344" width="336" height="280" alt=""></a></div></div> </div><!-- .theiaStickySidebar /--> </aside><!-- .sidebar /--> </div><!-- .main-content-row /--></div><!-- #content /--><div id="web_stories_before_footer" class="container web-stories-section"> <div class="web-stories-list alignnone web-stories-list-block is-view-type-circles is-style-default is-carousel" data-id="1"> <div class="web-stories-list__inner-wrapper carousel-1" style="--ws-circle-size:100px"> <div class="web-stories-list__carousel circles" data-id="carousel-1"> <div class="web-stories-list__story"> <div class="web-stories-list__story-poster"> <a href="https://artanbiz.com/web-stories/1036/" > <img src="https://artanbiz.com/wp-content/uploads/2023/02/cropped-4.jpg" alt="" width="185" height="308" srcset="https://artanbiz.com/wp-content/uploads/2023/02/cropped-4.jpg 640w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-4-225x300.jpg 225w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-4-150x200.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" loading="lazy" decoding="async" > </a> </div> </div> <div class="web-stories-list__story"> <div class="web-stories-list__story-poster"> <a href="https://artanbiz.com/web-stories/1031/" > <img src="https://artanbiz.com/wp-content/uploads/2023/02/cropped-3.jpg" alt="" width="185" height="308" srcset="https://artanbiz.com/wp-content/uploads/2023/02/cropped-3.jpg 640w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-3-225x300.jpg 225w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-3-150x200.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" loading="lazy" decoding="async" > </a> </div> </div> <div class="web-stories-list__story"> <div class="web-stories-list__story-poster"> <a href="https://artanbiz.com/web-stories/1027/" > <img src="https://artanbiz.com/wp-content/uploads/2023/02/cropped-2.jpg" alt="" width="185" height="308" srcset="https://artanbiz.com/wp-content/uploads/2023/02/cropped-2.jpg 640w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-2-225x300.jpg 225w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-2-150x200.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" loading="lazy" decoding="async" > </a> </div> </div> <div class="web-stories-list__story"> <div class="web-stories-list__story-poster"> <a href="https://artanbiz.com/web-stories/1023/" > <img src="https://artanbiz.com/wp-content/uploads/2023/02/cropped-11.jpg" alt="" width="185" height="308" srcset="https://artanbiz.com/wp-content/uploads/2023/02/cropped-11.jpg 640w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-11-225x300.jpg 225w, https://artanbiz.com/wp-content/uploads/2023/02/cropped-11-150x200.jpg 150w" sizes="(max-width: 640px) 100vw, 640px" loading="lazy" decoding="async" > </a> </div> </div> </div> <div tabindex="0" aria-label="Previous" class="glider-prev"></div> <div tabindex="0" aria-label="Next" class="glider-next"></div> </div> </div> </div> <footer id="footer" class="site-footer dark-skin dark-widgetized-area"> <div id="footer-widgets-container"> <div class="container"> <div class="footer-widget-area "> <div class="tie-row"> <div class="tie-col-sm-4 normal-side"> <div id="author-bio-widget-8" class="container-wrapper widget aboutme-widget"> <div class="about-author about-content-wrapper is-centered"><img alt="" src="https://artanbiz.com/wp-content/uploads/2024/11/Smart-Digital-marketing-logo-1.png" style="margin-top: 45px; width: 267px; height: 88px;" class="about-author-img" width="280" height="47"> <div class="aboutme-widget-content"> </div> <div class="clearfix"></div> </div><!-- .about-widget-content --> <div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> <div class="tie-col-sm-4 normal-side"> <div id="author-bio-widget-9" class="container-wrapper widget aboutme-widget"><div class="widget-title the-global-title"><div class="the-subtitle">About Smart SEO</div></div> <div class="about-author about-content-wrapper"> <div class="aboutme-widget-content">SmartDM Themes is a Clean Responsive WordPress Newspaper, Magazine, News and Blog theme. Packed with options that allow you to completely customize your website to your needs. </div> <div class="clearfix"></div> </div><!-- .about-widget-content --> <div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> <div class="tie-col-sm-4 normal-side"> <div id="latest_tweets_widget-5" class="container-wrapper widget latest-tweets-widget"><div class="widget-title the-global-title"><div class="the-subtitle"><a href="https://twitter.com/google" rel="nofollow noopener">@Follow Us</a></div></div><span class="theme-notice">Error Can not Get Posts, Incorrect account info.</span><div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> <div class=" normal-side"> </div><!-- .tie-col /--> </div><!-- .tie-row /--> </div><!-- .footer-widget-area /--> <div class="footer-widget-area "> <div class="tie-row"> <div class="tie-col-md-3 normal-side"> <div id="posts-list-widget-34" class="container-wrapper widget posts-list"><div class="widget-title the-global-title"><div class="the-subtitle">Recent Topics</div></div><div class="widget-posts-list-wrapper"><div class="widget-posts-list-container timeline-widget" ><ul class="posts-list-items widget-posts-wrapper"> <li class="widget-single-post-item"> <a href="https://artanbiz.com/web-hosting-for-seo-why-its-important/"> <span class="date meta-item tie-icon">July 11, 2024</span> <h3>Web hosting for SEO: Why it’s important</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/sem-career-playbook-overview-of-a-growing-industry/"> <span class="date meta-item tie-icon">July 11, 2024</span> <h3>SEM career playbook: Overview of a growing industry</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/what-is-seo-search-engine-optimization/"> <span class="date meta-item tie-icon">July 11, 2024</span> <h3>What Is SEO – Search Engine Optimization?</h3> </a> </li> </ul></div></div><div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> <div class="tie-col-md-3 normal-side"> <div id="posts-list-widget-35" class="container-wrapper widget posts-list"><div class="widget-title the-global-title"><div class="the-subtitle">Most Popular Topics</div></div><div class="widget-posts-list-wrapper"><div class="widget-posts-list-container timeline-widget" ><ul class="posts-list-items widget-posts-wrapper"> <li class="widget-single-post-item"> <a href="https://artanbiz.com/take-the-2010-seo-industry-survey-your-peers-need-you/"> <span class="date meta-item tie-icon">June 30, 2024</span> <h3>Take the 2010 SEO Industry Survey; Your Peers Need You!</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/im-drunk-from-the-juicy-link-finder/"> <span class="date meta-item tie-icon">July 3, 2024</span> <h3>I’m Drunk from the Juicy Link Finder</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/if-your-page-ranks-well-youd-better-be-messing-with-it/"> <span class="date meta-item tie-icon">July 3, 2024</span> <h3>If Your Page Ranks Well, You’d Better Be Messing With It</h3> </a> </li> </ul></div></div><div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> <div class="tie-col-md-3 normal-side"> <div id="posts-list-widget-36" class="container-wrapper widget posts-list"><div class="widget-title the-global-title"><div class="the-subtitle">Last Modified Topics</div></div><div class="widget-posts-list-wrapper"><div class="widget-posts-list-container timeline-widget" ><ul class="posts-list-items widget-posts-wrapper"> <li class="widget-single-post-item"> <a href="https://artanbiz.com/how-i-develop-successful-link-building-strategies-for-my-clients/"> <span class="date meta-item tie-icon">July 9, 2024</span> <h3>How I Develop Successful Link Building Strategies for My Clients</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/optimizing-for-ai-overviews/"> <span class="date meta-item tie-icon">July 8, 2024</span> <h3>Optimizing for AI Overviews</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/my-top-5-local-seo-and-marketing-takeaways-from-mozcon-2024/"> <span class="date meta-item tie-icon">July 8, 2024</span> <h3>My Top 5 Local SEO and Marketing Takeaways From MozCon 2024</h3> </a> </li> </ul></div></div><div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> <div class="tie-col-md-3 normal-side"> <div id="posts-list-widget-37" class="container-wrapper widget posts-list"><div class="widget-title the-global-title"><div class="the-subtitle">Most Viewed Topics</div></div><div class="widget-posts-list-wrapper"><div class="widget-posts-list-container timeline-widget" ><ul class="posts-list-items widget-posts-wrapper"> <li class="widget-single-post-item"> <a href="https://artanbiz.com/how-i-develop-successful-link-building-strategies-for-my-clients/"> <span class="date meta-item tie-icon">July 9, 2024</span> <h3>How I Develop Successful Link Building Strategies for My Clients</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/top-seo-tips-for-2024-whiteboard-friday/"> <span class="date meta-item tie-icon">June 26, 2024</span> <h3>Top SEO Tips for 2024 — Whiteboard Friday</h3> </a> </li> <li class="widget-single-post-item"> <a href="https://artanbiz.com/intro-to-python-part-2/"> <span class="date meta-item tie-icon">June 27, 2024</span> <h3>Intro to Python [Part 2]</h3> </a> </li> </ul></div></div><div class="clearfix"></div></div><!-- .widget /--> </div><!-- .tie-col /--> </div><!-- .tie-row /--> </div><!-- .footer-widget-area /--> </div><!-- .container /--> </div><!-- #Footer-widgets-container /--> <div id="site-info" class="site-info site-info-layout-2"> <div class="container"> <div class="tie-row"> <div class="tie-col-md-12"> <div class="copyright-text copyright-text-first">© Copyright 2024, All Rights Reserved | Proudly Hosted by <a href="https://artanbiz.com/" target="_blank" rel="nofollow noopener">SmartDM</a></div><div class="footer-menu"><ul id="menu-tielabs-secondry-menu" class="menu"><li id="menu-item-1967" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-1967"><a href="https://artanbiz.com/">Home</a></li> <li id="menu-item-1968" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1968"><a href="#">About</a></li> <li id="menu-item-1969" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1969"><a href="#">Team</a></li> <li id="menu-item-1970" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1970"><a href="https://artanbiz.com/category/tie-world/">World</a></li> <li id="menu-item-1971" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1971"><a href="https://artanbiz.com/category/tie-tech/">Tech</a></li> <li id="menu-item-1972" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1972"><a href="https://tielabs.com/buy/jannah?utm_source=demo-content&utm_medium=link&utm_campaign=jannah&utm_content=secondry-menu">Buy now!</a></li> </ul></div><ul class="social-icons"><li class="social-icons-item"><a class="social-link facebook-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-facebook"></span><span class="screen-reader-text">Facebook</span></a></li><li class="social-icons-item"><a class="social-link twitter-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-twitter"></span><span class="screen-reader-text">X</span></a></li><li class="social-icons-item"><a class="social-link youtube-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-youtube"></span><span class="screen-reader-text">YouTube</span></a></li><li class="social-icons-item"><a class="social-link instagram-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-instagram"></span><span class="screen-reader-text">Instagram</span></a></li></ul> </div><!-- .tie-col /--> </div><!-- .tie-row /--> </div><!-- .container /--> </div><!-- #site-info /--> </footer><!-- #footer /--> <div id="share-buttons-mobile" class="share-buttons share-buttons-mobile"> <div class="share-links icons-only"> <a href="https://www.facebook.com/sharer.php?u=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Facebook" target="_blank" class="facebook-share-btn " data-raw="https://www.facebook.com/sharer.php?u={post_link}"> <span class="share-btn-icon tie-icon-facebook"></span> <span class="screen-reader-text">Facebook</span> </a> <a href="https://twitter.com/intent/tweet?text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D&url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="X" target="_blank" class="twitter-share-btn " data-raw="https://twitter.com/intent/tweet?text={post_title}&url={post_link}"> <span class="share-btn-icon tie-icon-twitter"></span> <span class="screen-reader-text">X</span> </a> <a href="https://reddit.com/submit?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&title=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Reddit" target="_blank" class="reddit-share-btn " data-raw="https://reddit.com/submit?url={post_link}&title={post_title}"> <span class="share-btn-icon tie-icon-reddit"></span> <span class="screen-reader-text">Reddit</span> </a> <a href="https://api.whatsapp.com/send?text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D%20https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="WhatsApp" target="_blank" class="whatsapp-share-btn " data-raw="https://api.whatsapp.com/send?text={post_title}%20{post_link}"> <span class="share-btn-icon tie-icon-whatsapp"></span> <span class="screen-reader-text">WhatsApp</span> </a> <a href="https://telegram.me/share/url?url=https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/&text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D" rel="external noopener nofollow" title="Telegram" target="_blank" class="telegram-share-btn " data-raw="https://telegram.me/share/url?url={post_link}&text={post_title}"> <span class="share-btn-icon tie-icon-paper-plane"></span> <span class="screen-reader-text">Telegram</span> </a> <a href="viber://forward?text=Page%20Level%20Query%20Analysis%20at%20Scale%20with%20Google%20Colab%2C%20Python%2C%20%26%20the%20GSC%20API%20%5BVideo%20Instructions%20Included%5D%20https://artanbiz.com/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/" rel="external noopener nofollow" title="Viber" target="_blank" class="viber-share-btn " data-raw="viber://forward?text={post_title}%20{post_link}"> <span class="share-btn-icon tie-icon-phone"></span> <span class="screen-reader-text">Viber</span> </a> </div><!-- .share-links /--> </div><!-- .share-buttons /--> <div class="mobile-share-buttons-spacer"></div> <a id="go-to-top" class="go-to-top-button" href="#go-to-tie-body"> <span class="tie-icon-angle-up"></span> <span class="screen-reader-text">Back to top button</span> </a> </div><!-- #tie-wrapper /--> <aside class=" side-aside normal-side dark-skin dark-widgetized-area is-fullwidth appear-from-right" aria-label="Secondary Sidebar" style="visibility: hidden;"> <div data-height="100%" class="side-aside-wrapper has-custom-scroll"> <a href="#" class="close-side-aside remove big-btn"> <span class="screen-reader-text">Close</span> </a><!-- .close-side-aside /--> <div id="mobile-container"> <div id="mobile-menu" class="hide-menu-icons"> </div><!-- #mobile-menu /--> <div id="mobile-social-icons" class="social-icons-widget solid-social-icons"> <ul><li class="social-icons-item"><a class="social-link facebook-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-facebook"></span><span class="screen-reader-text">Facebook</span></a></li><li class="social-icons-item"><a class="social-link twitter-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-twitter"></span><span class="screen-reader-text">X</span></a></li><li class="social-icons-item"><a class="social-link youtube-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-youtube"></span><span class="screen-reader-text">YouTube</span></a></li><li class="social-icons-item"><a class="social-link instagram-social-icon" rel="external noopener nofollow" target="_blank" href="#"><span class="tie-social-icon tie-icon-instagram"></span><span class="screen-reader-text">Instagram</span></a></li></ul> </div><!-- #mobile-social-icons /--> <div id="mobile-search"> <div class="asp_w_container asp_w_container_1 asp_w_container_1_1" data-id="1"><div class='asp_w asp_m asp_m_1 asp_m_1_1 wpdreams_asp_sc wpdreams_asp_sc-1 ajaxsearchpro asp_main_container asp_non_compact' data-id="1" data-name="Main Search" data-instance="1" id='ajaxsearchpro1_1'><div class="probox"><div class='prosettings' style='display:none;' data-opened=0><div class='innericon'><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 512 512"><path d="M170 294c0 33.138-26.862 60-60 60-33.137 0-60-26.862-60-60 0-33.137 26.863-60 60-60 33.138 0 60 26.863 60 60zm-60 90c-6.872 0-13.565-.777-20-2.243V422c0 11.046 8.954 20 20 20s20-8.954 20-20v-40.243c-6.435 1.466-13.128 2.243-20 2.243zm0-180c6.872 0 13.565.777 20 2.243V90c0-11.046-8.954-20-20-20s-20 8.954-20 20v116.243c6.435-1.466 13.128-2.243 20-2.243zm146-7c12.13 0 22 9.87 22 22s-9.87 22-22 22-22-9.87-22-22 9.87-22 22-22zm0-38c-33.137 0-60 26.863-60 60 0 33.138 26.863 60 60 60 33.138 0 60-26.862 60-60 0-33.137-26.862-60-60-60zm0-30c6.872 0 13.565.777 20 2.243V90c0-11.046-8.954-20-20-20s-20 8.954-20 20v41.243c6.435-1.466 13.128-2.243 20-2.243zm0 180c-6.872 0-13.565-.777-20-2.243V422c0 11.046 8.954 20 20 20s20-8.954 20-20V306.757c-6.435 1.466-13.128 2.243-20 2.243zm146-75c-33.137 0-60 26.863-60 60 0 33.138 26.863 60 60 60 33.138 0 60-26.862 60-60 0-33.137-26.862-60-60-60zm0-30c6.872 0 13.565.777 20 2.243V90c0-11.046-8.954-20-20-20s-20 8.954-20 20v116.243c6.435-1.466 13.128-2.243 20-2.243zm0 180c-6.872 0-13.565-.777-20-2.243V422c0 11.046 8.954 20 20 20s20-8.954 20-20v-40.243c-6.435 1.466-13.128 2.243-20 2.243z"/></svg></div></div><div class='proinput'><form role="search" action='#' autocomplete="off" aria-label="Search form"><input type='search' class='orig' placeholder='Search here...' name='phrase' value='' aria-label="Search input" autocomplete="off"/><input type='text' class='autocomplete' name='phrase' value='' aria-label="Search autocomplete input" aria-hidden="true" tabindex="-1" autocomplete="off" disabled/></form></div><button class='promagnifier' aria-label="Search magnifier button"><span class='asp_text_button hiddend'> Search </span><span class='innericon'><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 512 512"><path d="M460.355 421.59l-106.51-106.512c20.04-27.553 31.884-61.437 31.884-98.037C385.73 124.935 310.792 50 218.685 50c-92.106 0-167.04 74.934-167.04 167.04 0 92.107 74.935 167.042 167.04 167.042 34.912 0 67.352-10.773 94.184-29.158L419.945 462l40.41-40.41zM100.63 217.04c0-65.095 52.96-118.055 118.056-118.055 65.098 0 118.057 52.96 118.057 118.056 0 65.097-52.96 118.057-118.057 118.057-65.096 0-118.055-52.96-118.055-118.056z"/></svg></span><span class="asp_clear"></span></button><div class='proloading'><div class="asp_loader"><div class="asp_loader-inner asp_simple-circle"></div></div></div><div class='proclose'><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve"><polygon points="438.393,374.595 319.757,255.977 438.378,137.348 374.595,73.607 255.995,192.225 137.375,73.622 73.607,137.352 192.246,255.983 73.622,374.625 137.352,438.393 256.002,319.734 374.652,438.378 "/></svg></div></div></div><div class='asp_data_container' style="display:none !important;"><div class="asp_init_data" style="display:none !important;" id="asp_init_id_1_1" data-asp-id="1" data-asp-instance="1" data-aspdata="eyJob21ldXJsIjoiaHR0cHM6XC9cL2FydGFuYml6LmNvbVwvIiwiaXNfcmVzdWx0c19wYWdlIjowLCJyZXN1bHRzdHlwZSI6InZlcnRpY2FsIiwicmVzdWx0c3Bvc2l0aW9uIjoiaG92ZXIiLCJyZXN1bHRzU25hcFRvIjoibGVmdCIsInJlc3VsdHMiOnsid2lkdGgiOiJhdXRvIiwid2lkdGhfdGFibGV0IjoiYXV0byIsIndpZHRoX3Bob25lIjoiYXV0byJ9LCJpdGVtc2NvdW50Ijo0LCJjaGFyY291bnQiOjAsImhpZ2hsaWdodCI6MCwiaGlnaGxpZ2h0V2hvbGV3b3JkcyI6MSwic2luZ2xlSGlnaGxpZ2h0IjowLCJzY3JvbGxUb1Jlc3VsdHMiOnsiZW5hYmxlZCI6MCwib2Zmc2V0IjowfSwiYXV0b2NvbXBsZXRlIjp7ImVuYWJsZWQiOjEsInRyaWdnZXJfY2hhcmNvdW50IjowLCJnb29nbGVPbmx5IjoxLCJsYW5nIjoiZW4iLCJtb2JpbGUiOjF9LCJ0cmlnZ2VyIjp7ImRlbGF5IjozMDAsImF1dG9jb21wbGV0ZV9kZWxheSI6MzEwLCJ1cGRhdGVfaHJlZiI6MCwiZmFjZXQiOjEsInR5cGUiOjEsImNsaWNrIjoicmVzdWx0c19wYWdlIiwiY2xpY2tfbG9jYXRpb24iOiJzYW1lIiwicmV0dXJuIjoicmVzdWx0c19wYWdlIiwicmV0dXJuX2xvY2F0aW9uIjoic2FtZSIsInJlZGlyZWN0X3VybCI6Ij9zPXtwaHJhc2V9IiwiZWxlbWVudG9yX3VybCI6Imh0dHBzOlwvXC9hcnRhbmJpei5jb21cLz9hc3BfbHM9e3BocmFzZX0ifSwib3ZlcnJpZGV3cGRlZmF1bHQiOjEsIm92ZXJyaWRlX21ldGhvZCI6ImdldCIsInNldHRpbmdzIjp7InVuc2VsZWN0Q2hpbGRyZW4iOjEsImhpZGVDaGlsZHJlbiI6MH0sInNldHRpbmdzaW1hZ2Vwb3MiOiJyaWdodCIsInNldHRpbmdzVmlzaWJsZSI6MCwic2V0dGluZ3NIaWRlT25SZXMiOjAsInByZXNjb250YWluZXJoZWlnaHQiOiI0MDBweCIsImNsb3NlT25Eb2NDbGljayI6MSwiZm9jdXNPblBhZ2Vsb2FkIjowLCJpc290b3BpYyI6eyJpdGVtV2lkdGgiOiIyMDBweCIsIml0ZW1XaWR0aFRhYmxldCI6IjIwMHB4IiwiaXRlbVdpZHRoUGhvbmUiOiIyMDBweCIsIml0ZW1IZWlnaHQiOiIyMDBweCIsIml0ZW1IZWlnaHRUYWJsZXQiOiIyMDBweCIsIml0ZW1IZWlnaHRQaG9uZSI6IjIwMHB4IiwicGFnaW5hdGlvbiI6MSwicm93cyI6MiwiZ3V0dGVyIjo1LCJzaG93T3ZlcmxheSI6MSwiYmx1ck92ZXJsYXkiOjEsImhpZGVDb250ZW50IjoxfSwibG9hZGVyTG9jYXRpb24iOiJhdXRvIiwic2hvd19tb3JlIjp7ImVuYWJsZWQiOjAsInVybCI6Ij9zPXtwaHJhc2V9IiwiZWxlbWVudG9yX3VybCI6Imh0dHBzOlwvXC9hcnRhbmJpei5jb21cLz9hc3BfbHM9e3BocmFzZX0iLCJhY3Rpb24iOiJhamF4IiwibG9jYXRpb24iOiJzYW1lIiwiaW5maW5pdGUiOjF9LCJtb2JpbGUiOnsidHJpZ2dlcl9vbl90eXBlIjoxLCJjbGlja19hY3Rpb24iOiJyZXN1bHRzX3BhZ2UiLCJyZXR1cm5fYWN0aW9uIjoicmVzdWx0c19wYWdlIiwiY2xpY2tfYWN0aW9uX2xvY2F0aW9uIjoic2FtZSIsInJldHVybl9hY3Rpb25fbG9jYXRpb24iOiJzYW1lIiwicmVkaXJlY3RfdXJsIjoiP3M9e3BocmFzZX0iLCJlbGVtZW50b3JfdXJsIjoiaHR0cHM6XC9cL2FydGFuYml6LmNvbVwvP2FzcF9scz17cGhyYXNlfSIsIm1lbnVfc2VsZWN0b3IiOiIjbWVudS10b2dnbGUiLCJoaWRlX2tleWJvYXJkIjowLCJmb3JjZV9yZXNfaG92ZXIiOjAsImZvcmNlX3NldHRfaG92ZXIiOjAsImZvcmNlX3NldHRfc3RhdGUiOiJub25lIn0sImNvbXBhY3QiOnsiZW5hYmxlZCI6MCwiZm9jdXMiOjEsIndpZHRoIjoiMTAwJSIsIndpZHRoX3RhYmxldCI6IjQ4MHB4Iiwid2lkdGhfcGhvbmUiOiIzMjBweCIsImNsb3NlT25NYWduaWZpZXIiOjEsImNsb3NlT25Eb2N1bWVudCI6MCwicG9zaXRpb24iOiJzdGF0aWMiLCJvdmVybGF5IjowfSwic2IiOnsicmVkaXJlY3RfYWN0aW9uIjoiYWpheF9zZWFyY2giLCJyZWRpcmVjdF9sb2NhdGlvbiI6InNhbWUiLCJyZWRpcmVjdF91cmwiOiI/cz17cGhyYXNlfSIsImVsZW1lbnRvcl91cmwiOiJodHRwczpcL1wvYXJ0YW5iaXouY29tXC8/YXNwX2xzPXtwaHJhc2V9In0sInJiIjp7ImFjdGlvbiI6Im5vdGhpbmcifSwiYW5pbWF0aW9ucyI6eyJwYyI6eyJzZXR0aW5ncyI6eyJhbmltIjoiZmFkZWRyb3AiLCJkdXIiOjMwMH0sInJlc3VsdHMiOnsiYW5pbSI6ImZhZGVkcm9wIiwiZHVyIjozMDB9LCJpdGVtcyI6ImZhZGVJbkRvd24ifSwibW9iIjp7InNldHRpbmdzIjp7ImFuaW0iOiJmYWRlZHJvcCIsImR1ciI6MzAwfSwicmVzdWx0cyI6eyJhbmltIjoiZmFkZWRyb3AiLCJkdXIiOjMwMH0sIml0ZW1zIjoidm9pZGFuaW0ifX0sInNlbGVjdDIiOnsibm9yZXMiOiJObyByZXN1bHRzIG1hdGNoIn0sImRldGVjdFZpc2liaWxpdHkiOjAsImF1dG9wIjp7InN0YXRlIjoiZGlzYWJsZWQiLCJwaHJhc2UiOiIiLCJjb3VudCI6MTB9LCJ3b29TaG9wIjp7InVzZUFqYXgiOjAsInNlbGVjdG9yIjoiI21haW4iLCJ1cmwiOiIifSwidGF4QXJjaGl2ZSI6eyJ1c2VBamF4IjowLCJzZWxlY3RvciI6IiNtYWluIiwidXJsIjoiIn0sImNwdEFyY2hpdmUiOnsidXNlQWpheCI6MCwic2VsZWN0b3IiOiIjbWFpbiIsInVybCI6IiJ9LCJyZXNQYWdlIjp7InVzZUFqYXgiOjAsInNlbGVjdG9yIjoiI21haW4iLCJ0cmlnZ2VyX3R5cGUiOjEsInRyaWdnZXJfZmFjZXQiOjEsInRyaWdnZXJfbWFnbmlmaWVyIjowLCJ0cmlnZ2VyX3JldHVybiI6MH0sImZzc19sYXlvdXQiOiJmbGV4Iiwic2Nyb2xsQmFyIjp7Imhvcml6b250YWwiOnsiZW5hYmxlZCI6MX19LCJkaXZpIjp7ImJvZHljb21tZXJjZSI6MH0sInByZXZlbnRCb2R5U2Nyb2xsIjowLCJzdGF0aXN0aWNzIjowLCJwcmV2ZW50RXZlbnRzIjowfQ=="></div><div class='asp_hidden_data' style="display:none !important;"><div class='asp_item_overlay'><div class='asp_item_inner'><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 512 512"><path d="M448.225 394.243l-85.387-85.385c16.55-26.08 26.146-56.986 26.146-90.094 0-92.99-75.652-168.64-168.643-168.64-92.988 0-168.64 75.65-168.64 168.64s75.65 168.64 168.64 168.64c31.466 0 60.94-8.67 86.176-23.734l86.14 86.142c36.755 36.754 92.355-18.783 55.57-55.57zm-344.233-175.48c0-64.155 52.192-116.35 116.35-116.35s116.353 52.194 116.353 116.35S284.5 335.117 220.342 335.117s-116.35-52.196-116.35-116.352zm34.463-30.26c34.057-78.9 148.668-69.75 170.248 12.863-43.482-51.037-119.984-56.532-170.248-12.862z"/></svg></div></div></div></div><div id='__original__ajaxsearchprores1_1' class='asp_w asp_r asp_r_1 asp_r_1_1 vertical ajaxsearchpro wpdreams_asp_sc wpdreams_asp_sc-1' data-id="1" data-instance="1"><div class="results"><div class="resdrg"></div></div><div class="asp_res_loader hiddend"><div class="asp_loader"><div class="asp_loader-inner asp_simple-circle"></div></div></div></div><div id='__original__ajaxsearchprosettings1_1' class="asp_w asp_ss asp_ss_1 asp_s asp_s_1 asp_s_1_1 wpdreams_asp_sc wpdreams_asp_sc-1 ajaxsearchpro searchsettings" data-id="1" data-instance="1"><form name='options' class="asp-fss-flex" aria-label="Search settings form" autocomplete = 'off'><input type="hidden" name="current_page_id" value="3180"><input type='hidden' name='qtranslate_lang' value='0'/><input type="hidden" name="filters_changed" value="0"><input type="hidden" name="filters_initial" value="1"><div style="clear:both;"></div></form></div><div class="wpdreams_clear"></div></div> </div><!-- #mobile-search /--> </div><!-- #mobile-container /--> </div><!-- .side-aside-wrapper /--> </aside><!-- .side-aside /--> </div><!-- #tie-container /--> </div><!-- .background-overlay /--> <div id="reading-position-indicator"></div><div id="autocomplete-suggestions" class="autocomplete-suggestions"></div><div id="is-scroller-outer"><div id="is-scroller"></div></div><div id="fb-root"></div> <div id="tie-popup-search-desktop" class="tie-popup tie-popup-search-wrap" style="display: none;"> <a href="#" class="tie-btn-close remove big-btn light-btn"> <span class="screen-reader-text">Close</span> </a> <div class="popup-search-wrap-inner"> <div class="live-search-parent pop-up-live-search" data-skin="live-search-popup" aria-label="Search"> <form method="get" class="tie-popup-search-form" action="https://artanbiz.com/"> <input class="tie-popup-search-input is-ajax-search" inputmode="search" type="text" name="s" title="Search for" autocomplete="off" placeholder="Type and hit Enter" /> <button class="tie-popup-search-submit" type="submit"> <span class="tie-icon-search tie-search-icon" aria-hidden="true"></span> <span class="screen-reader-text">Search for</span> </button> </form> </div><!-- .pop-up-live-search /--> </div><!-- .popup-search-wrap-inner /--> </div><!-- .tie-popup-search-wrap /--> <div id="tie-popup-search-mobile" class="tie-popup tie-popup-search-wrap" style="display: none;"> <a href="#" class="tie-btn-close remove big-btn light-btn"> <span class="screen-reader-text">Close</span> </a> <div class="popup-search-wrap-inner"> <div class="live-search-parent pop-up-live-search" data-skin="live-search-popup" aria-label="Search"> <form method="get" class="tie-popup-search-form" action="https://artanbiz.com/"> <input class="tie-popup-search-input is-ajax-search" inputmode="search" type="text" name="s" title="Search for" autocomplete="off" placeholder="Search for" /> <button class="tie-popup-search-submit" type="submit"> <span class="tie-icon-search tie-search-icon" aria-hidden="true"></span> <span class="screen-reader-text">Search for</span> </button> </form> </div><!-- .pop-up-live-search /--> </div><!-- .popup-search-wrap-inner /--> </div><!-- .tie-popup-search-wrap /--> <div id="tie-popup-login" class="tie-popup" style="display: none;"> <a href="#" class="tie-btn-close remove big-btn light-btn"> <span class="screen-reader-text">Close</span> </a> <div class="tie-popup-container"> <div class="container-wrapper"> <div class="widget login-widget"> <div class="widget-title the-global-title"> <div class="the-subtitle">Log In <span class="widget-title-icon tie-icon"></span></div> </div> <div class="widget-container"> <div class="login-form"> <form name="registerform" action="https://artanbiz.com/webadmin" method="post"> <input type="text" name="log" title="Username" placeholder="Username"> <div class="pass-container"> <input type="password" name="pwd" title="Password" placeholder="Password"> <a class="forget-text" href="https://artanbiz.com/webadmin?action=lostpassword&redirect_to=https%3A%2F%2Fartanbiz.com">Forget?</a> </div> <input type="hidden" name="redirect_to" value="/page-level-query-analysis-at-scale-with-google-colab-python-the-gsc-api-video-instructions-included/"/> <label for="rememberme" class="rememberme"> <input id="rememberme" name="rememberme" type="checkbox" checked="checked" value="forever" /> Remember me </label> <button type="submit" class="button fullwidth login-submit">Log In</button> </form> </div> </div><!-- .widget-container /--> </div><!-- .login-widget /--> </div><!-- .container-wrapper /--> </div><!-- .tie-popup-container /--> </div><!-- .tie-popup /--> <div class='asp_hidden_data' id="asp_hidden_data" style="display: none !important;"> <svg style="position:absolute" height="0" width="0"> <filter id="aspblur"> <feGaussianBlur in="SourceGraphic" stdDeviation="4"/> </filter> </svg> <svg style="position:absolute" height="0" width="0"> <filter id="no_aspblur"></filter> </svg> </div> <div class="web-stories-list__lightbox-wrapper ws-lightbox-1"> <div class="web-stories-list__lightbox"> <amp-story-player width="3.6" height="6" layout="responsive"> <script type="application/json"> {"controls":[{"name":"close","position":"start"},{"name":"skip-next"}],"behavior":{"autoplay":false}} </script> <a href="https://artanbiz.com/web-stories/1036/"></a> <a href="https://artanbiz.com/web-stories/1031/"></a> <a href="https://artanbiz.com/web-stories/1027/"></a> <a href="https://artanbiz.com/web-stories/1023/"></a> </amp-story-player> </div> </div> <style id='web-stories-carousel-inline-css' type='text/css'> .glider-contain{width:100%}.glider,.glider-contain{margin:0 auto;position:relative}.glider{overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:none}.glider,.glider-track{transform:translateZ(0)}.glider-track{display:flex;margin:0;padding:0;width:100%;z-index:1}.glider.draggable{cursor:-webkit-grab;cursor:grab;user-select:none}.glider.draggable .glider-slide img{pointer-events:none;user-select:none}.glider.drag{cursor:-webkit-grabbing;cursor:grabbing}.glider-slide{align-content:center;justify-content:center;user-select:none;width:100%}.glider-slide img{max-width:100%}.glider::-webkit-scrollbar{height:0;opacity:0}.glider-next,.glider-prev{background:none;border:0;color:#666;cursor:pointer;font-size:40px;left:-23px;line-height:1;opacity:1;outline:none;padding:0;position:absolute;text-decoration:none;top:30%;transition:opacity .5s cubic-bezier(.17,.67,.83,.67),color .5s cubic-bezier(.17,.67,.83,.67);user-select:none;z-index:2}.glider-next:focus,.glider-next:hover,.glider-prev:focus,.glider-prev:hover{color:#a89cc8}.glider-next{left:auto;right:-23px}.glider-next.disabled,.glider-prev.disabled{color:#666;cursor:default;opacity:.25}.glider-slide{min-width:150px}.glider-hide{opacity:0}.glider-dots{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto}.glider-dot,.glider-dots{padding:0;user-select:none}.glider-dot{background:#ccc;border:0;border-radius:999px;color:#ccc;cursor:pointer;display:block;height:12px;margin:7px;outline:none;width:12px}.glider-dot.active,.glider-dot:focus,.glider-dot:hover{background:#a89cc8}@media (max-width:36em){.glider::-webkit-scrollbar{-webkit-appearance:none;height:3px;opacity:1;width:7px}.glider::-webkit-scrollbar-thumb{background-color:hsla(0,0%,61%,.25);border-radius:99px;box-shadow:0 0 1px hsla(0,0%,100%,.25);opacity:1}} </style> <style id='web-stories-list-styles-inline-css' type='text/css'> :root{--ws-font-size-title:18px;--ws-font-size-circle-title:14px;--ws-font-size-excerpt:16px;--ws-font-size-author-date:14px;--ws-aspect-ratio:4/6;--ws-list-aspect-ratio:4/6;--ws-overlay-text-color:#fff;--ws-overlay-text-lh:1.3;--ws-story-min-width:160px;--ws-story-max-width:285px;--ws-circle-size:96px;--ws-circle-border-color:#ccc}.web-stories-list{margin-bottom:24px;margin-top:24px}.web-stories-theme-header-section .web-stories-list{margin-bottom:0;margin-top:0}.web-stories-list.is-carousel .web-stories-list__inner-wrapper{margin:0 auto;max-width:max-content;position:relative}.web-stories-list__story{cursor:pointer;position:relative}.web-stories-list.is-view-type-carousel .web-stories-list__story{min-width:var(--ws-story-min-width)}.web-stories-list.is-style-default.is-view-type-carousel .web-stories-list__story,.web-stories-list.is-style-default.is-view-type-grid .web-stories-list__story{border-radius:8px;overflow:hidden}.web-stories-list__story-poster{aspect-ratio:var(--ws-aspect-ratio);position:relative}.web-stories-list__story-poster a{aspect-ratio:var(--ws-aspect-ratio);display:block;margin:0}.web-stories-list__story-poster .web-stories-list__story-poster-placeholder{box-sizing:border-box}.web-stories-list__story-poster .web-stories-list__story-poster-placeholder a,.web-stories-list__story-poster .web-stories-list__story-poster-placeholder span{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}.web-stories-list__story.web-stories-list__story--amp .web-stories-list__story-poster a{pointer-events:none}.web-stories-list__story-poster img{box-sizing:border-box;height:100%;object-fit:cover;position:absolute;width:100%}.web-stories-list__story-poster:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),rgba(0,0,0,.8));content:"";display:block;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.web-stories-list__story-content-overlay{line-height:var(--ws-overlay-text-lh);padding:10px}html[amp] .web-stories-list__story-content-overlay{white-space:normal}.web-stories-list.is-view-type-carousel .web-stories-list__story-content-overlay,.web-stories-list.is-view-type-grid .web-stories-list__story-content-overlay{bottom:0;color:var(--ws-overlay-text-color);position:absolute;z-index:1}.web-stories-list .story-content-overlay__title{font-size:var(--ws-font-size-title);font-weight:700}.web-stories-list .story-content-overlay__author,.web-stories-list .story-content-overlay__date{font-size:var(--ws-font-size-author-date)}.web-stories-list .story-content-overlay__excerpt,.web-stories-list .story-content-overlay__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.web-stories-list .story-content-overlay__title:not(:last-child){margin-bottom:15px}.web-stories-list .story-content-overlay__excerpt{-webkit-line-clamp:3;font-size:var(--ws-font-size-excerpt);margin-bottom:8px}.web-stories-list.alignfull .web-stories-list__archive-link{right:10px}.web-stories-list.is-view-type-grid .web-stories-list__archive-link,.web-stories-list.is-view-type-list .web-stories-list__archive-link{display:block;flex-basis:100%;margin:32px auto 0;text-align:center}.web-stories-list.is-view-type-grid .web-stories-list__archive-link a,.web-stories-list.is-view-type-list .web-stories-list__archive-link a{border:1px solid;border-radius:100px;padding:7px 53px}.web-stories-lightbox-open{overflow-y:hidden}.web-stories-list__lightbox,.web-stories-singleton__lightbox{align-items:center;background:#000;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transform:translateY(-100vh);width:100%;z-index:-999999999}.web-stories-list__lightbox-wrapper amp-lightbox,.web-stories-list__lightbox.show,.web-stories-singleton__lightbox.show{z-index:999999999}.web-stories-list__lightbox.show,.web-stories-singleton__lightbox.show{opacity:1;transform:translate(0)}.web-stories-list__lightbox amp-story-player,.web-stories-singleton__lightbox amp-story-player{height:100%;width:100%}.story-lightbox__close-button{background:none!important;border:none;border-radius:0;cursor:pointer;display:inline-block;height:40px;left:0;position:absolute;top:8px;width:40px;z-index:1}.story-lightbox__close-button--stick{background-color:#fff;display:inline-block;height:20px;left:20px;position:absolute;top:15px;transform:rotate(45deg);width:3px}.story-lightbox__close-button--stick:first-child{transform:rotate(-45deg)}html:not([amp]) .web-stories-list .web-stories-list__lightbox amp-story-player a,html:not([amp]) .web-stories-singleton__lightbox amp-story-player a{position:absolute}@media (min-width:676px){.admin-bar .web-stories-list__lightbox,.admin-bar .web-stories-singleton__lightbox{top:46px}.story-lightbox__close-button{left:10px}.story-lightbox__close-button--stick{height:25px;left:20px;top:5px}}@media (min-width:783px){.admin-bar .web-stories-list__lightbox,.admin-bar .web-stories-singleton__lightbox{top:32px}}.web-stories-list.is-view-type-grid .web-stories-list__inner-wrapper{display:flex;flex-wrap:wrap}.web-stories-list.is-view-type-grid .web-stories-list__story{flex-basis:calc(100% - 8px);margin:4px}@media (min-width:415px){.web-stories-list.is-view-type-grid.columns-1 .web-stories-list__story{flex-basis:calc(100% - 8px)}.web-stories-list.is-view-type-grid.columns-2 .web-stories-list__story{flex-basis:calc(50% - 8px)}.web-stories-list.is-view-type-grid.columns-3 .web-stories-list__story{flex-basis:calc(33.33333% - 8px)}.web-stories-list.is-view-type-grid.columns-4 .web-stories-list__story{flex-basis:calc(25% - 8px)}.web-stories-list.is-view-type-grid.columns-5 .web-stories-list__story{flex-basis:calc(20% - 8px)}}.web-stories-theme-header-section .web-stories-list.is-view-type-circles{border-bottom:1px solid #ccc;padding:12px 0}.web-stories-list.is-view-type-circles .amp-carousel-slide{vertical-align:top}.web-stories-list.is-view-type-circles .glider-track{margin:0 auto}.web-stories-list.is-view-type-circles .web-stories-list__story{display:inline-block;margin:0 5px;max-width:var(--ws-circle-size);min-width:var(--ws-circle-size);text-align:center}.web-stories-list.is-view-type-circles .web-stories-list__story-poster,.web-stories-list.is-view-type-circles .web-stories-list__story-poster a{aspect-ratio:1}.web-stories-list.is-view-type-circles .web-stories-list__story-poster>img{border-radius:50%}.web-stories-list.is-view-type-circles .web-stories-list__story-poster .web-stories-list__story-poster-placeholder,.web-stories-list.is-view-type-circles .web-stories-list__story-poster a>img,.web-stories-list.is-view-type-circles .web-stories-list__story-poster>img{background-clip:content-box;border:2px solid var(--ws-circle-border-color);border-radius:50%;height:var(--ws-circle-size);left:0;max-width:none;padding:2px;position:absolute;top:0;width:var(--ws-circle-size)}.web-stories-list.is-view-type-circles .web-stories-list__story-poster a>img{border-radius:50%}.web-stories-list.is-view-type-circles .web-stories-list__story-poster:after{display:none}.web-stories-list.is-view-type-circles .web-stories-list__story-poster-placeholder:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),rgba(0,0,0,.8));border-radius:50%;content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%}.web-stories-list.is-view-type-circles .web-stories-list__story-content-overlay{padding-bottom:0}.web-stories-list.is-view-type-circles .story-content-overlay__title{font-size:var(--ws-font-size-circle-title)}.web-stories-list.is-view-type-circles.has-title .glider-next,.web-stories-list.is-view-type-circles.has-title .glider-prev{top:35%}.web-stories-list.is-view-type-list .web-stories-list__story{margin-bottom:12px}.web-stories-list.is-view-type-list .web-stories-list__story-content-overlay{bottom:0;color:var(--ws-overlay-text-color);position:absolute;z-index:1}.ws-legacy-widget-preview .web-stories-list.is-view-type-list .web-stories-list__story{align-items:center;display:flex;flex-wrap:nowrap}.ws-legacy-widget-preview .web-stories-list.is-view-type-list .web-stories-list__story-poster{aspect-ratio:var(--ws-list-aspect-ratio);flex-basis:40%}.ws-legacy-widget-preview .web-stories-list.is-view-type-list .web-stories-list__story-poster:after{display:none}.ws-legacy-widget-preview .web-stories-list.is-view-type-list .web-stories-list__story-content-overlay{color:inherit;flex-basis:60%;padding:10px 15px;position:relative}.ws-legacy-widget-preview .web-stories-list.is-view-type-list .image-align-right .web-stories-list__story-poster{order:2}.ws-legacy-widget-preview .web-stories-list.is-view-type-list .image-align-right .web-stories-list__story-content-overlay{order:1}.ws-legacy-widget-preview .web-stories-list.is-view-type-list.is-style-default .web-stories-list__story-poster{border-radius:8px;overflow:hidden}@media (min-width:676px){.web-stories-list.is-view-type-list .web-stories-list__story{align-items:center;display:flex;flex-wrap:nowrap}.web-stories-list.is-view-type-list .web-stories-list__story-poster{aspect-ratio:var(--ws-list-aspect-ratio);flex-basis:40%}.web-stories-list.is-view-type-list .web-stories-list__story-poster:after{display:none}.web-stories-list.is-view-type-list .web-stories-list__story-content-overlay{color:inherit;flex-basis:60%;padding:10px 15px;position:relative}.web-stories-list.is-view-type-list .image-align-right .web-stories-list__story-poster{order:2}.web-stories-list.is-view-type-list .image-align-right .web-stories-list__story-content-overlay{order:1}.web-stories-list.is-view-type-list.is-style-default .web-stories-list__story-poster{border-radius:8px;overflow:hidden}}.carousel>.glider-track>.web-stories-list__story{margin:0 10px}@media (min-width:676px){.web-stories-list.is-view-type-carousel .web-stories-list__story{margin:0 5px;max-width:var(--ws-story-max-width)}}.ws-legacy-widget-preview .web-stories-list.is-view-type-carousel .web-stories-list__story{margin:0 5px;max-width:var(--ws-story-max-width)}.web-stories-list.is-carousel.has-archive-link{margin-top:59px}.web-stories-theme-header-section .web-stories-list.is-carousel.has-archive-link{margin-top:24px;padding-top:59px;position:relative}.web-stories-list.is-carousel .web-stories-list__archive-link{position:absolute;right:0;top:-35px}.web-stories-theme-header-section .web-stories-list.is-carousel .web-stories-list__archive-link{right:10px}.web-stories-list.is-carousel .glider-next,.web-stories-list.is-carousel .glider-prev{padding:10px;top:50%;transform:translateY(-50%)}.web-stories-list.is-carousel .glider-prev{transform:translateY(-50%) rotate(180deg) /*!rtl:translateY(-50%)*/}.web-stories-list.is-carousel .amp-carousel-button-next,.web-stories-list.is-carousel .amp-carousel-button-prev,.web-stories-list.is-carousel .glider-next,.web-stories-list.is-carousel .glider-prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5IiBoZWlnaHQ9IjE0IiBmaWxsPSJub25lIj48cGF0aCBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTEuNTMyIDEuMzgzIDUuNTEgNS41MS01LjUxIDUuNTExIi8+PC9zdmc+)}.web-stories-list.is-carousel .amp-carousel-button-next,.web-stories-list.is-carousel .glider-next{right:0}.web-stories-list.is-carousel .amp-carousel-button-prev,.web-stories-list.is-carousel .glider-prev{left:0}.web-stories-list.is-carousel .amp-carousel-button-prev{transform:rotate(180deg) /*!rtl:none*/}html[dir=rtl] .web-stories-list.is-carousel .amp-carousel-button-next{transform:rotate(180deg)}.web-stories-list.is-carousel .amp-carousel-button,.web-stories-list.is-carousel .glider-next,.web-stories-list.is-carousel .glider-prev{background-color:#eaeaea;background-position:50%;background-repeat:no-repeat;background-size:30%;border-radius:50%;border-style:none;box-sizing:border-box;cursor:pointer;height:34px;pointer-events:all;width:34px;z-index:10}html[dir=rtl] .web-stories-list.is-carousel .glider-next{transform:translateY(-50%) rotate(180deg)}.glider-next.disabled,.glider-prev.disabled,.web-stories-list.is-carousel .amp-carousel-button.amp-disabled{opacity:0}html[dir=rtl] .glider-next.disabled,html[dir=rtl] .glider-prev.disabled{cursor:pointer;opacity:1}.web-stories-list.is-carousel .amp-carousel-button:not(.amp-disabled):hover,.web-stories-list.is-carousel .glider-next:not(.disabled):focus,.web-stories-list.is-carousel .glider-next:not(.disabled):hover,.web-stories-list.is-carousel .glider-prev:not(.disabled):focus,.web-stories-list.is-carousel .glider-prev:not(.disabled):hover,html[dir=rtl] .glider-next.disabled:hover,html[dir=rtl] .glider-prev.disabled:hover{filter:invert(1)}.web-stories-list.is-carousel .web-stories-list__carousel{scrollbar-width:none}.web-stories-list.is-carousel .glider-track::-webkit-scrollbar{display:none}.web-stories-list.is-carousel.is-view-type-carousel .web-stories-list__carousel:not(.glider){display:flex;overflow-y:scroll} </style> <link rel='stylesheet' id='standalone-amp-story-player-css' href='https://cdn.ampproject.org/amp-story-player-v0.css?ver=v0' type='text/css' media='all' /> <script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra"> /* <![CDATA[ */ var eztoc_smooth_local = {"scroll_offset":"30","add_request_uri":""}; /* ]]> */ </script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js?ver=2.0.69.1" id="ez-toc-scroll-scriptjs-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js?ver=2.2.1" id="ez-toc-js-cookie-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js?ver=1.9.2" id="ez-toc-jquery-sticky-kit-js"></script> <script type="text/javascript" id="ez-toc-js-js-extra"> /* <![CDATA[ */ var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>","chamomile_theme_is_on":""}; /* ]]> */ </script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js?ver=2.0.69.1-1729337400" id="ez-toc-js-js"></script> <script type="text/javascript" id="daim-track-internal-links-js-before"> /* <![CDATA[ */ window.DAIM_PARAMETERS = {ajax_url: "https://artanbiz.com/wp-admin/admin-ajax.php",nonce: "9b0f164adf"}; /* ]]> */ </script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/interlinks-manager/public/assets/js/track-internal-links.js?ver=1.30" id="daim-track-internal-links-js"></script> <script type="text/javascript" id="tie-scripts-js-extra"> /* <![CDATA[ */ var tie = {"is_rtl":"","ajaxurl":"https:\/\/artanbiz.com\/wp-admin\/admin-ajax.php","is_side_aside_light":"","is_taqyeem_active":"1","is_sticky_video":"1","mobile_menu_top":"","mobile_menu_active":"area_2","mobile_menu_parent":"true","lightbox_all":"true","lightbox_gallery":"true","lightbox_skin":"dark","lightbox_thumb":"horizontal","lightbox_arrows":"true","is_singular":"1","autoload_posts":"","reading_indicator":"true","lazyload":"","select_share":"true","select_share_twitter":"true","select_share_facebook":"true","select_share_linkedin":"true","select_share_email":"true","facebook_app_id":"5303202981","twitter_username":"","responsive_tables":"true","ad_blocker_detector":"","sticky_behavior":"upwards","sticky_desktop":"true","sticky_mobile":"true","sticky_mobile_behavior":"default","ajax_loader":"<div class=\"loader-overlay\">\n\t\t\t\t<div class=\"spinner\">\n\t\t\t\t\t<div class=\"bounce1\"><\/div>\n\t\t\t\t\t<div class=\"bounce2\"><\/div>\n\t\t\t\t\t<div class=\"bounce3\"> <\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>","type_to_search":"","lang_no_results":"Nothing Found","sticky_share_mobile":"true","sticky_share_post":"","sticky_share_post_menu":"1"}; /* ]]> */ </script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/js/scripts.min.js?ver=7.3.1" id="tie-scripts-js"></script> <script type="text/javascript" id="tie-scripts-js-after"> /* <![CDATA[ */ jQuery.ajax({ type : "GET", url : "https://artanbiz.com/wp-admin/admin-ajax.php", data : "postviews_id=3180&action=tie_postviews", cache: !1, success: function( data ){ jQuery(".single-post-meta").find(".meta-views").html( data ); } }); /* ]]> */ </script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/ilightbox/lightbox.js?ver=7.3.1" id="tie-js-ilightbox-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/js/sliders.min.js?ver=7.3.1" id="tie-js-sliders-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/js/shortcodes.js?ver=7.3.1" id="tie-js-shortcodes-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/js/desktop.min.js?ver=7.3.1" id="tie-js-desktop-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/js/live-search.js?ver=7.3.1" id="tie-js-livesearch-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/themes/jannah/assets/js/single.min.js?ver=7.3.1" id="tie-js-single-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-includes/js/comment-reply.min.js?ver=f7e31bf10ef196fd4b6975c7468b4397" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/ol_scrapes/assets/js/ext-image.js?ver=4.5.0" id="ol_img_resize-js"></script> <script defer type="text/javascript" src="https://artanbiz.com/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1732132388" id="akismet-frontend-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-includes/js/dist/dom-ready.min.js?ver=f77871ff7694fffea381" id="wp-dom-ready-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" id="web-stories-carousel-js-extra"> /* <![CDATA[ */ var webStoriesCarouselSettings = {"config":{"isRTL":false}}; /* ]]> */ </script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/web-stories/assets/js/web-stories-carousel.js?ver=d15033d3ec5e986c1b40" id="web-stories-carousel-js"></script> <script type="text/javascript" src="https://cdn.ampproject.org/amp-story-player-v0.js?ver=v0" id="standalone-amp-story-player-js"></script> <script type="text/javascript" src="https://artanbiz.com/wp-content/plugins/web-stories/assets/js/web-stories-lightbox.js?ver=e684dbcd04cdfd5a210b" id="web-stories-lightbox-js"></script> <script data-category="functional"> </script> <script> WebFontConfig ={ google:{ families: [ 'Be+Vietnam:600,regular:latin', 'Be+Vietnam:100,100italic,300,300italic,regular,italic,500,500italic,700,700italic,800,800italic,900,900italic:latin&display=swap' ] } }; (function(){ var wf = document.createElement('script'); wf.src = '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; wf.type = 'text/javascript'; wf.defer = 'true'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wf, s); })(); </script> <script type='text/javascript'> !function(t){"use strict";t.loadCSS||(t.loadCSS=function(){});var e=loadCSS.relpreload={};if(e.support=function(){var e;try{e=t.document.createElement("link").relList.supports("preload")}catch(t){e=!1}return function(){return e}}(),e.bindMediaToggle=function(t){var e=t.media||"all";function a(){t.addEventListener?t.removeEventListener("load",a):t.attachEvent&&t.detachEvent("onload",a),t.setAttribute("onload",null),t.media=e}t.addEventListener?t.addEventListener("load",a):t.attachEvent&&t.attachEvent("onload",a),setTimeout(function(){t.rel="stylesheet",t.media="only x"}),setTimeout(a,3e3)},e.poly=function(){if(!e.support())for(var a=t.document.getElementsByTagName("link"),n=0;n<a.length;n++){var o=a[n];"preload"!==o.rel||"style"!==o.getAttribute("as")||o.getAttribute("data-loadcss")||(o.setAttribute("data-loadcss",!0),e.bindMediaToggle(o))}},!e.support()){e.poly();var a=t.setInterval(e.poly,500);t.addEventListener?t.addEventListener("load",function(){e.poly(),t.clearInterval(a)}):t.attachEvent&&t.attachEvent("onload",function(){e.poly(),t.clearInterval(a)})}"undefined"!=typeof exports?exports.loadCSS=loadCSS:t.loadCSS=loadCSS}("undefined"!=typeof global?global:this); </script> <script type='text/javascript'> var c = document.body.className; c = c.replace(/tie-no-js/, 'tie-js'); document.body.className = c; </script> <script id='wd-asp-instances-d55e5bc3'>window.ASP_INSTANCES = [];window.ASP_INSTANCES[1] = {"homeurl":"https:\/\/artanbiz.com\/","is_results_page":0,"resultstype":"vertical","resultsposition":"hover","resultsSnapTo":"left","results":{"width":"auto","width_tablet":"auto","width_phone":"auto"},"itemscount":4,"charcount":0,"highlight":0,"highlightWholewords":1,"singleHighlight":0,"scrollToResults":{"enabled":0,"offset":0},"autocomplete":{"enabled":1,"trigger_charcount":0,"googleOnly":1,"lang":"en","mobile":1},"trigger":{"delay":300,"autocomplete_delay":310,"update_href":0,"facet":1,"type":1,"click":"results_page","click_location":"same","return":"results_page","return_location":"same","redirect_url":"?s={phrase}","elementor_url":"https:\/\/artanbiz.com\/?asp_ls={phrase}"},"overridewpdefault":1,"override_method":"get","settings":{"unselectChildren":1,"hideChildren":0},"settingsimagepos":"right","settingsVisible":0,"settingsHideOnRes":0,"prescontainerheight":"400px","closeOnDocClick":1,"focusOnPageload":0,"isotopic":{"itemWidth":"200px","itemWidthTablet":"200px","itemWidthPhone":"200px","itemHeight":"200px","itemHeightTablet":"200px","itemHeightPhone":"200px","pagination":1,"rows":2,"gutter":5,"showOverlay":1,"blurOverlay":1,"hideContent":1},"loaderLocation":"auto","show_more":{"enabled":0,"url":"?s={phrase}","elementor_url":"https:\/\/artanbiz.com\/?asp_ls={phrase}","action":"ajax","location":"same","infinite":1},"mobile":{"trigger_on_type":1,"click_action":"results_page","return_action":"results_page","click_action_location":"same","return_action_location":"same","redirect_url":"?s={phrase}","elementor_url":"https:\/\/artanbiz.com\/?asp_ls={phrase}","menu_selector":"#menu-toggle","hide_keyboard":0,"force_res_hover":0,"force_sett_hover":0,"force_sett_state":"none"},"compact":{"enabled":0,"focus":1,"width":"100%","width_tablet":"480px","width_phone":"320px","closeOnMagnifier":1,"closeOnDocument":0,"position":"static","overlay":0},"sb":{"redirect_action":"ajax_search","redirect_location":"same","redirect_url":"?s={phrase}","elementor_url":"https:\/\/artanbiz.com\/?asp_ls={phrase}"},"rb":{"action":"nothing"},"animations":{"pc":{"settings":{"anim":"fadedrop","dur":300},"results":{"anim":"fadedrop","dur":300},"items":"fadeInDown"},"mob":{"settings":{"anim":"fadedrop","dur":300},"results":{"anim":"fadedrop","dur":300},"items":"voidanim"}},"select2":{"nores":"No results match"},"detectVisibility":0,"autop":{"state":"disabled","phrase":"","count":10},"wooShop":{"useAjax":0,"selector":"#main","url":""},"taxArchive":{"useAjax":0,"selector":"#main","url":""},"cptArchive":{"useAjax":0,"selector":"#main","url":""},"resPage":{"useAjax":0,"selector":"#main","trigger_type":1,"trigger_facet":1,"trigger_magnifier":0,"trigger_return":0},"fss_layout":"flex","scrollBar":{"horizontal":{"enabled":1}},"divi":{"bodycommerce":0},"preventBodyScroll":0,"statistics":0,"preventEvents":0};</script><script type='text/javascript' id='wd-asp-ajaxsearchpro-js-before'>if ( typeof window.ASP == 'undefined') { window.ASP = {wp_rocket_exception: "DOMContentLoaded", ajaxurl: "https:\/\/artanbiz.com\/wp-admin\/admin-ajax.php", backend_ajaxurl: "https:\/\/artanbiz.com\/wp-admin\/admin-ajax.php", asp_url: "https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/", upload_url: "https:\/\/artanbiz.com\/wp-content\/uploads\/asp_upload\/", detect_ajax: 1, media_query: "G3jsKC", version: 5068, pageHTML: "", additional_scripts: [{"handle":"wd-asp-ajaxsearchpro","path":"\/home\/artanbizcom\/domains\/artanbiz.com\/public_html\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-prereq.js","src":"https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-prereq.js","prereq":[]},{"handle":"wd-asp-ajaxsearchpro-core","path":"\/home\/artanbizcom\/domains\/artanbiz.com\/public_html\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-core.js","src":"https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-core.js","prereq":[]},{"handle":"wd-asp-ajaxsearchpro-vertical","path":"\/home\/artanbizcom\/domains\/artanbiz.com\/public_html\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-results-vertical.js","src":"https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-results-vertical.js","prereq":["wd-asp-ajaxsearchpro"]},{"handle":"wd-asp-ajaxsearchpro-live","path":"\/home\/artanbizcom\/domains\/artanbiz.com\/public_html\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-live.js","src":"https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-live.js","prereq":["wd-asp-ajaxsearchpro"]},{"handle":"wd-asp-ajaxsearchpro-autocomplete","path":"\/home\/artanbizcom\/domains\/artanbiz.com\/public_html\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-autocomplete.js","src":"https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-autocomplete.js","prereq":["wd-asp-ajaxsearchpro"]},{"handle":"wd-asp-ajaxsearchpro-load","path":"\/home\/artanbizcom\/domains\/artanbiz.com\/public_html\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-load.js","src":"https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/js\/min\/plugin\/optimized\/asp-load.js","prereq":["wd-asp-ajaxsearchpro-autocomplete"]}], script_async_load: false, font_url: "https:\/\/artanbiz.com\/wp-content\/plugins\/ajax-search-pro\/css\/fonts\/icons\/icons2.woff2", init_only_in_viewport: true, highlight: {"enabled":false,"data":[]}, debug: false, instances: {}, analytics: {"method":"event","tracking_id":"","event":{"focus":{"active":1,"action":"focus","category":"ASP {search_id} | {search_name}","label":"Input focus","value":"1"},"search_start":{"active":0,"action":"search_start","category":"ASP {search_id} | {search_name}","label":"Phrase: {phrase}","value":"1"},"search_end":{"active":1,"action":"search_end","category":"ASP {search_id} | {search_name}","label":"{phrase} | {results_count}","value":"1"},"magnifier":{"active":1,"action":"magnifier","category":"ASP {search_id} | {search_name}","label":"Magnifier clicked","value":"1"},"return":{"active":1,"action":"return","category":"ASP {search_id} | {search_name}","label":"Return button pressed","value":"1"},"try_this":{"active":1,"action":"try_this","category":"ASP {search_id} | {search_name}","label":"Try this click | {phrase}","value":"1"},"facet_change":{"active":0,"action":"facet_change","category":"ASP {search_id} | {search_name}","label":"{option_label} | {option_value}","value":"1"},"result_click":{"active":1,"action":"result_click","category":"ASP {search_id} | {search_name}","label":"{result_title} | {result_url}","value":"1"}}}}};</script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-prereq.js' id='wd-asp-ajaxsearchpro-js'></script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-core.js' id='wd-asp-ajaxsearchpro-core-js'></script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-results-vertical.js' id='wd-asp-ajaxsearchpro-vertical-js'></script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-live.js' id='wd-asp-ajaxsearchpro-live-js'></script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-autocomplete.js' id='wd-asp-ajaxsearchpro-autocomplete-js'></script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-load.js' id='wd-asp-ajaxsearchpro-load-js'></script><script type='text/javascript' src='https://artanbiz.com/wp-content/plugins/ajax-search-pro/js/min/plugin/optimized/asp-wrapper.js' id='wd-asp-ajaxsearchpro-wrapper-js'></script></body> </html> <!-- Page cached by LiteSpeed Cache 6.5.2 on 2024-11-21 07:11:09 --><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>